﻿2026-06-10T07:08:00.8616024Z ##[group]Run ./traceable-reqs check --json
2026-06-10T07:08:00.8617067Z [36;1m./traceable-reqs check --json[0m
2026-06-10T07:08:00.8630639Z shell: /usr/bin/bash -e {0}
2026-06-10T07:08:00.8631458Z ##[endgroup]
2026-06-10T07:08:00.8804164Z {
2026-06-10T07:08:00.8805184Z   "schemaVersion": 1,
2026-06-10T07:08:00.8806272Z   "summary": {
2026-06-10T07:08:00.8822889Z     "requirementCount": 181,
2026-06-10T07:08:00.8824122Z     "completeCount": 181,
2026-06-10T07:08:00.8825260Z     "incompleteCount": 0,
2026-06-10T07:08:00.8827142Z     "findingCount": 0
2026-06-10T07:08:00.8830245Z   },
2026-06-10T07:08:00.8831432Z   "requirements": [
2026-06-10T07:08:00.8832805Z     {
2026-06-10T07:08:00.8834044Z       "id": "REQ-API-1",
2026-06-10T07:08:00.8835749Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-10T07:08:00.8837497Z       "requiredStages": [
2026-06-10T07:08:00.8838607Z         "impl",
2026-06-10T07:08:00.8839660Z         "unit",
2026-06-10T07:08:00.8840654Z         "int"
2026-06-10T07:08:00.8841668Z       ],
2026-06-10T07:08:00.8842608Z       "stages": {
2026-06-10T07:08:00.8843617Z         "doc": {
2026-06-10T07:08:00.8844634Z           "complete": false,
2026-06-10T07:08:00.8845808Z           "evidence": []
2026-06-10T07:08:00.8846871Z         },
2026-06-10T07:08:00.8847787Z         "impl": {
2026-06-10T07:08:00.8848775Z           "complete": true,
2026-06-10T07:08:00.8849952Z           "evidence": [
2026-06-10T07:08:00.8850974Z             {
2026-06-10T07:08:00.8851995Z               "path": "crates/spt/src/api/mod.rs",
2026-06-10T07:08:00.8853289Z               "line": 15
2026-06-10T07:08:00.8854331Z             }
2026-06-10T07:08:00.8855261Z           ]
2026-06-10T07:08:00.8856177Z         },
2026-06-10T07:08:00.8857122Z         "int": {
2026-06-10T07:08:00.8858129Z           "complete": true,
2026-06-10T07:08:00.8859310Z           "evidence": [
2026-06-10T07:08:00.8860347Z             {
2026-06-10T07:08:00.8861449Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-10T07:08:00.8862541Z               "line": 13
2026-06-10T07:08:00.8863266Z             }
2026-06-10T07:08:00.8863930Z           ]
2026-06-10T07:08:00.8864563Z         },
2026-06-10T07:08:00.8865197Z         "unit": {
2026-06-10T07:08:00.8865888Z           "complete": true,
2026-06-10T07:08:00.8866652Z           "evidence": [
2026-06-10T07:08:00.8867362Z             {
2026-06-10T07:08:00.8868092Z               "path": "crates/spt/src/api/mod.rs",
2026-06-10T07:08:00.8869102Z               "line": 442
2026-06-10T07:08:00.8869852Z             },
2026-06-10T07:08:00.8870519Z             {
2026-06-10T07:08:00.8871246Z               "path": "crates/spt/src/api/mod.rs",
2026-06-10T07:08:00.8872161Z               "line": 448
2026-06-10T07:08:00.8872901Z             },
2026-06-10T07:08:00.8873559Z             {
2026-06-10T07:08:00.8874283Z               "path": "crates/spt/src/api/mod.rs",
2026-06-10T07:08:00.8875232Z               "line": 515
2026-06-10T07:08:00.8876339Z             }
2026-06-10T07:08:00.8877302Z           ]
2026-06-10T07:08:00.8878213Z         }
2026-06-10T07:08:00.8879201Z       }
2026-06-10T07:08:00.8880078Z     },
2026-06-10T07:08:00.8880957Z     {
2026-06-10T07:08:00.8881863Z       "id": "REQ-API-2",
2026-06-10T07:08:00.8883461Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-10T07:08:00.8885320Z       "requiredStages": [
2026-06-10T07:08:00.8886650Z         "impl",
2026-06-10T07:08:00.8887323Z         "unit",
2026-06-10T07:08:00.8887973Z         "int"
2026-06-10T07:08:00.8888640Z       ],
2026-06-10T07:08:00.8889359Z       "stages": {
2026-06-10T07:08:00.8890283Z         "doc": {
2026-06-10T07:08:00.8890977Z           "complete": false,
2026-06-10T07:08:00.8891756Z           "evidence": []
2026-06-10T07:08:00.8892474Z         },
2026-06-10T07:08:00.8893106Z         "impl": {
2026-06-10T07:08:00.8893792Z           "complete": true,
2026-06-10T07:08:00.8894555Z           "evidence": [
2026-06-10T07:08:00.8895267Z             {
2026-06-10T07:08:00.8896223Z               "path": "crates/spt-store/src/history.rs",
2026-06-10T07:08:00.8897192Z               "line": 15
2026-06-10T07:08:00.8897925Z             },
2026-06-10T07:08:00.8898585Z             {
2026-06-10T07:08:00.8899500Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:00.8900454Z               "line": 20
2026-06-10T07:08:00.8901175Z             },
2026-06-10T07:08:00.8901837Z             {
2026-06-10T07:08:00.8902578Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:00.8903525Z               "line": 139
2026-06-10T07:08:00.8904262Z             },
2026-06-10T07:08:00.8904934Z             {
2026-06-10T07:08:00.8905687Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.8906635Z               "line": 21
2026-06-10T07:08:00.8907360Z             },
2026-06-10T07:08:00.8908009Z             {
2026-06-10T07:08:00.8908765Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.8909802Z               "line": 38
2026-06-10T07:08:00.8910537Z             },
2026-06-10T07:08:00.8911201Z             {
2026-06-10T07:08:00.8911964Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.8912928Z               "line": 190
2026-06-10T07:08:00.8913657Z             },
2026-06-10T07:08:00.8914307Z             {
2026-06-10T07:08:00.8915060Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.8916000Z               "line": 232
2026-06-10T07:08:00.8916739Z             },
2026-06-10T07:08:00.8917387Z             {
2026-06-10T07:08:00.8918134Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.8919159Z               "line": 262
2026-06-10T07:08:00.8919896Z             },
2026-06-10T07:08:00.8920549Z             {
2026-06-10T07:08:00.8921288Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:00.8922220Z               "line": 17
2026-06-10T07:08:00.8922953Z             },
2026-06-10T07:08:00.8923601Z             {
2026-06-10T07:08:00.8924352Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:00.8925401Z               "line": 30
2026-06-10T07:08:00.8926135Z             },
2026-06-10T07:08:00.8926797Z             {
2026-06-10T07:08:00.8927527Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:00.8928451Z               "line": 63
2026-06-10T07:08:00.8929257Z             },
2026-06-10T07:08:00.8929913Z             {
2026-06-10T07:08:00.8930637Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:00.8931571Z               "line": 76
2026-06-10T07:08:00.8932277Z             }
2026-06-10T07:08:00.8932936Z           ]
2026-06-10T07:08:00.8933570Z         },
2026-06-10T07:08:00.8934200Z         "int": {
2026-06-10T07:08:00.8934878Z           "complete": true,
2026-06-10T07:08:00.8935632Z           "evidence": [
2026-06-10T07:08:00.8936324Z             {
2026-06-10T07:08:00.8937062Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-10T07:08:00.8938001Z               "line": 14
2026-06-10T07:08:00.8938716Z             },
2026-06-10T07:08:00.8939442Z             {
2026-06-10T07:08:00.8940189Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-10T07:08:00.8941135Z               "line": 183
2026-06-10T07:08:00.8941859Z             }
2026-06-10T07:08:00.8942517Z           ]
2026-06-10T07:08:00.8943145Z         },
2026-06-10T07:08:00.8943773Z         "unit": {
2026-06-10T07:08:00.8944565Z           "complete": true,
2026-06-10T07:08:00.8945419Z           "evidence": [
2026-06-10T07:08:00.8946126Z             {
2026-06-10T07:08:00.8946874Z               "path": "crates/spt-store/src/history.rs",
2026-06-10T07:08:00.8948000Z               "line": 42
2026-06-10T07:08:00.8948724Z             },
2026-06-10T07:08:00.8949472Z             {
2026-06-10T07:08:00.8950220Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:00.8951151Z               "line": 254
2026-06-10T07:08:00.8951867Z             },
2026-06-10T07:08:00.8952516Z             {
2026-06-10T07:08:00.8953446Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.8954395Z               "line": 438
2026-06-10T07:08:00.8955125Z             },
2026-06-10T07:08:00.8955788Z             {
2026-06-10T07:08:00.8956538Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.8957482Z               "line": 449
2026-06-10T07:08:00.8958202Z             },
2026-06-10T07:08:00.8958851Z             {
2026-06-10T07:08:00.8959680Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.8960618Z               "line": 581
2026-06-10T07:08:00.8961342Z             },
2026-06-10T07:08:00.8962007Z             {
2026-06-10T07:08:00.8962757Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.8963696Z               "line": 593
2026-06-10T07:08:00.8964419Z             },
2026-06-10T07:08:00.8965375Z             {
2026-06-10T07:08:00.8966114Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:00.8967018Z               "line": 141
2026-06-10T07:08:00.8967741Z             },
2026-06-10T07:08:00.8968399Z             {
2026-06-10T07:08:00.8969202Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:00.8970111Z               "line": 185
2026-06-10T07:08:00.8970831Z             }
2026-06-10T07:08:00.8971475Z           ]
2026-06-10T07:08:00.8972107Z         }
2026-06-10T07:08:00.8972730Z       }
2026-06-10T07:08:00.8973355Z     },
2026-06-10T07:08:00.8973980Z     {
2026-06-10T07:08:00.8974609Z       "id": "REQ-API-3",
2026-06-10T07:08:00.8975496Z       "title": "commune/signoff are file-drops, not commands",
2026-06-10T07:08:00.8976598Z       "requiredStages": [
2026-06-10T07:08:00.8977331Z         "impl",
2026-06-10T07:08:00.8977987Z         "unit",
2026-06-10T07:08:00.8978645Z         "int"
2026-06-10T07:08:00.8979400Z       ],
2026-06-10T07:08:00.8980029Z       "stages": {
2026-06-10T07:08:00.8980690Z         "doc": {
2026-06-10T07:08:00.8981381Z           "complete": false,
2026-06-10T07:08:00.8982149Z           "evidence": []
2026-06-10T07:08:00.8982889Z         },
2026-06-10T07:08:00.8983518Z         "impl": {
2026-06-10T07:08:00.8984196Z           "complete": true,
2026-06-10T07:08:00.8984953Z           "evidence": [
2026-06-10T07:08:00.8985656Z             {
2026-06-10T07:08:00.8986390Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-10T07:08:00.8987320Z               "line": 27
2026-06-10T07:08:00.8988044Z             },
2026-06-10T07:08:00.8988691Z             {
2026-06-10T07:08:00.8989514Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.8990454Z               "line": 372
2026-06-10T07:08:00.8991197Z             }
2026-06-10T07:08:00.8991832Z           ]
2026-06-10T07:08:00.8992456Z         },
2026-06-10T07:08:00.8993080Z         "int": {
2026-06-10T07:08:00.8993759Z           "complete": true,
2026-06-10T07:08:00.8994503Z           "evidence": [
2026-06-10T07:08:00.8995313Z             {
2026-06-10T07:08:00.8996066Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-10T07:08:00.8997032Z               "line": 257
2026-06-10T07:08:00.8997751Z             }
2026-06-10T07:08:00.8998390Z           ]
2026-06-10T07:08:00.8999088Z         },
2026-06-10T07:08:00.8999727Z         "unit": {
2026-06-10T07:08:00.9000404Z           "complete": true,
2026-06-10T07:08:00.9001159Z           "evidence": [
2026-06-10T07:08:00.9001853Z             {
2026-06-10T07:08:00.9002577Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-10T07:08:00.9003493Z               "line": 242
2026-06-10T07:08:00.9004224Z             },
2026-06-10T07:08:00.9005045Z             {
2026-06-10T07:08:00.9005947Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:00.9006876Z               "line": 622
2026-06-10T07:08:00.9007588Z             }
2026-06-10T07:08:00.9008265Z           ]
2026-06-10T07:08:00.9009035Z         }
2026-06-10T07:08:00.9009743Z       }
2026-06-10T07:08:00.9010583Z     },
2026-06-10T07:08:00.9011269Z     {
2026-06-10T07:08:00.9011988Z       "id": "REQ-ARCH-1",
2026-06-10T07:08:00.9013109Z       "title": "Many small acyclically-layered crates",
2026-06-10T07:08:00.9014252Z       "requiredStages": [
2026-06-10T07:08:00.9015136Z         "impl"
2026-06-10T07:08:00.9015877Z       ],
2026-06-10T07:08:00.9016568Z       "stages": {
2026-06-10T07:08:00.9017369Z         "doc": {
2026-06-10T07:08:00.9018128Z           "complete": false,
2026-06-10T07:08:00.9019087Z           "evidence": []
2026-06-10T07:08:00.9019912Z         },
2026-06-10T07:08:00.9020632Z         "impl": {
2026-06-10T07:08:00.9021472Z           "complete": true,
2026-06-10T07:08:00.9022322Z           "evidence": [
2026-06-10T07:08:00.9023168Z             {
2026-06-10T07:08:00.9024022Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-10T07:08:00.9051000Z               "line": 16
2026-06-10T07:08:00.9051755Z             },
2026-06-10T07:08:00.9052390Z             {
2026-06-10T07:08:00.9053100Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-10T07:08:00.9053997Z               "line": 12
2026-06-10T07:08:00.9054706Z             },
2026-06-10T07:08:00.9055321Z             {
2026-06-10T07:08:00.9056016Z               "path": "crates/spt-store/src/lib.rs",
2026-06-10T07:08:00.9056906Z               "line": 12
2026-06-10T07:08:00.9057592Z             }
2026-06-10T07:08:00.9058207Z           ]
2026-06-10T07:08:00.9058814Z         },
2026-06-10T07:08:00.9059520Z         "int": {
2026-06-10T07:08:00.9060173Z           "complete": false,
2026-06-10T07:08:00.9060907Z           "evidence": []
2026-06-10T07:08:00.9061595Z         },
2026-06-10T07:08:00.9062195Z         "unit": {
2026-06-10T07:08:00.9062863Z           "complete": false,
2026-06-10T07:08:00.9063599Z           "evidence": []
2026-06-10T07:08:00.9064289Z         }
2026-06-10T07:08:00.9064900Z       }
2026-06-10T07:08:00.9065514Z     },
2026-06-10T07:08:00.9066106Z     {
2026-06-10T07:08:00.9066720Z       "id": "REQ-ARCH-2",
2026-06-10T07:08:00.9067665Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-10T07:08:00.9068786Z       "requiredStages": [
2026-06-10T07:08:00.9069607Z         "impl"
2026-06-10T07:08:00.9070237Z       ],
2026-06-10T07:08:00.9070842Z       "stages": {
2026-06-10T07:08:00.9071491Z         "doc": {
2026-06-10T07:08:00.9072155Z           "complete": false,
2026-06-10T07:08:00.9072905Z           "evidence": []
2026-06-10T07:08:00.9073605Z         },
2026-06-10T07:08:00.9074211Z         "impl": {
2026-06-10T07:08:00.9074873Z           "complete": true,
2026-06-10T07:08:00.9075664Z           "evidence": [
2026-06-10T07:08:00.9076356Z             {
2026-06-10T07:08:00.9077076Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-10T07:08:00.9077987Z               "line": 18
2026-06-10T07:08:00.9078684Z             }
2026-06-10T07:08:00.9079394Z           ]
2026-06-10T07:08:00.9080004Z         },
2026-06-10T07:08:00.9080599Z         "int": {
2026-06-10T07:08:00.9081255Z           "complete": false,
2026-06-10T07:08:00.9082008Z           "evidence": []
2026-06-10T07:08:00.9082710Z         },
2026-06-10T07:08:00.9083311Z         "unit": {
2026-06-10T07:08:00.9083969Z           "complete": false,
2026-06-10T07:08:00.9084723Z           "evidence": []
2026-06-10T07:08:00.9085414Z         }
2026-06-10T07:08:00.9086015Z       }
2026-06-10T07:08:00.9086602Z     },
2026-06-10T07:08:00.9087192Z     {
2026-06-10T07:08:00.9087797Z       "id": "REQ-ARCH-3",
2026-06-10T07:08:00.9088887Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-10T07:08:00.9090278Z       "requiredStages": [
2026-06-10T07:08:00.9091002Z         "impl",
2026-06-10T07:08:00.9091840Z         "unit"
2026-06-10T07:08:00.9092468Z       ],
2026-06-10T07:08:00.9093075Z       "stages": {
2026-06-10T07:08:00.9093721Z         "doc": {
2026-06-10T07:08:00.9094392Z           "complete": false,
2026-06-10T07:08:00.9095163Z           "evidence": []
2026-06-10T07:08:00.9095866Z         },
2026-06-10T07:08:00.9096493Z         "impl": {
2026-06-10T07:08:00.9097167Z           "complete": true,
2026-06-10T07:08:00.9098024Z           "evidence": [
2026-06-10T07:08:00.9098718Z             {
2026-06-10T07:08:00.9099551Z               "path": "crates/spt-proto/src/version.rs",
2026-06-10T07:08:00.9100471Z               "line": 34
2026-06-10T07:08:00.9101172Z             },
2026-06-10T07:08:00.9101803Z             {
2026-06-10T07:08:00.9102551Z               "path": "crates/spt-proto/src/version.rs",
2026-06-10T07:08:00.9103486Z               "line": 41
2026-06-10T07:08:00.9104186Z             }
2026-06-10T07:08:00.9104818Z           ]
2026-06-10T07:08:00.9105433Z         },
2026-06-10T07:08:00.9106053Z         "int": {
2026-06-10T07:08:00.9106731Z           "complete": false,
2026-06-10T07:08:00.9107483Z           "evidence": []
2026-06-10T07:08:00.9108179Z         },
2026-06-10T07:08:00.9108789Z         "unit": {
2026-06-10T07:08:00.9109552Z           "complete": true,
2026-06-10T07:08:00.9110288Z           "evidence": [
2026-06-10T07:08:00.9110970Z             {
2026-06-10T07:08:00.9111708Z               "path": "crates/spt-proto/src/version.rs",
2026-06-10T07:08:00.9112631Z               "line": 51
2026-06-10T07:08:00.9113322Z             },
2026-06-10T07:08:00.9113950Z             {
2026-06-10T07:08:00.9114679Z               "path": "crates/spt-proto/src/version.rs",
2026-06-10T07:08:00.9115601Z               "line": 71
2026-06-10T07:08:00.9116312Z             },
2026-06-10T07:08:00.9116942Z             {
2026-06-10T07:08:00.9117676Z               "path": "crates/spt-proto/src/version.rs",
2026-06-10T07:08:00.9118596Z               "line": 83
2026-06-10T07:08:00.9119372Z             }
2026-06-10T07:08:00.9119999Z           ]
2026-06-10T07:08:00.9120619Z         }
2026-06-10T07:08:00.9121215Z       }
2026-06-10T07:08:00.9121817Z     },
2026-06-10T07:08:00.9122403Z     {
2026-06-10T07:08:00.9123018Z       "id": "REQ-ARCH-4",
2026-06-10T07:08:00.9123996Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-10T07:08:00.9125424Z       "requiredStages": [
2026-06-10T07:08:00.9126195Z         "impl",
2026-06-10T07:08:00.9126854Z         "unit"
2026-06-10T07:08:00.9127483Z       ],
2026-06-10T07:08:00.9128102Z       "stages": {
2026-06-10T07:08:00.9128778Z         "doc": {
2026-06-10T07:08:00.9129552Z           "complete": false,
2026-06-10T07:08:00.9130323Z           "evidence": []
2026-06-10T07:08:00.9131031Z         },
2026-06-10T07:08:00.9131655Z         "impl": {
2026-06-10T07:08:00.9132329Z           "complete": true,
2026-06-10T07:08:00.9133072Z           "evidence": [
2026-06-10T07:08:00.9133770Z             {
2026-06-10T07:08:00.9134517Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9135448Z               "line": 82
2026-06-10T07:08:00.9136154Z             },
2026-06-10T07:08:00.9136794Z             {
2026-06-10T07:08:00.9137524Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9138454Z               "line": 96
2026-06-10T07:08:00.9139248Z             },
2026-06-10T07:08:00.9139888Z             {
2026-06-10T07:08:00.9140631Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9141553Z               "line": 116
2026-06-10T07:08:00.9142259Z             },
2026-06-10T07:08:00.9142894Z             {
2026-06-10T07:08:00.9143618Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9144535Z               "line": 131
2026-06-10T07:08:00.9145508Z             },
2026-06-10T07:08:00.9146166Z             {
2026-06-10T07:08:00.9146897Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9147817Z               "line": 181
2026-06-10T07:08:00.9148527Z             }
2026-06-10T07:08:00.9149575Z           ]
2026-06-10T07:08:00.9150199Z         },
2026-06-10T07:08:00.9150819Z         "int": {
2026-06-10T07:08:00.9151485Z           "complete": false,
2026-06-10T07:08:00.9152238Z           "evidence": []
2026-06-10T07:08:00.9152943Z         },
2026-06-10T07:08:00.9153558Z         "unit": {
2026-06-10T07:08:00.9154211Z           "complete": true,
2026-06-10T07:08:00.9155042Z           "evidence": [
2026-06-10T07:08:00.9155735Z             {
2026-06-10T07:08:00.9156454Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9157361Z               "line": 242
2026-06-10T07:08:00.9158072Z             },
2026-06-10T07:08:00.9158701Z             {
2026-06-10T07:08:00.9159512Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9160425Z               "line": 252
2026-06-10T07:08:00.9161137Z             },
2026-06-10T07:08:00.9161766Z             {
2026-06-10T07:08:00.9162502Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9163418Z               "line": 263
2026-06-10T07:08:00.9164128Z             },
2026-06-10T07:08:00.9164762Z             {
2026-06-10T07:08:00.9165621Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9166576Z               "line": 274
2026-06-10T07:08:00.9167282Z             },
2026-06-10T07:08:00.9167921Z             {
2026-06-10T07:08:00.9168655Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9169662Z               "line": 286
2026-06-10T07:08:00.9170380Z             },
2026-06-10T07:08:00.9171053Z             {
2026-06-10T07:08:00.9171769Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9172683Z               "line": 299
2026-06-10T07:08:00.9173382Z             },
2026-06-10T07:08:00.9174011Z             {
2026-06-10T07:08:00.9174734Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9175686Z               "line": 310
2026-06-10T07:08:00.9176391Z             },
2026-06-10T07:08:00.9177020Z             {
2026-06-10T07:08:00.9177736Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9178648Z               "line": 327
2026-06-10T07:08:00.9179436Z             },
2026-06-10T07:08:00.9180117Z             {
2026-06-10T07:08:00.9180836Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:00.9181752Z               "line": 358
2026-06-10T07:08:00.9182452Z             }
2026-06-10T07:08:00.9183085Z           ]
2026-06-10T07:08:00.9183689Z         }
2026-06-10T07:08:00.9184285Z       }
2026-06-10T07:08:00.9184881Z     },
2026-06-10T07:08:00.9185468Z     {
2026-06-10T07:08:00.9186086Z       "id": "REQ-CLI-1",
2026-06-10T07:08:00.9190100Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-10T07:08:00.9194216Z       "requiredStages": [
2026-06-10T07:08:00.9194935Z         "impl",
2026-06-10T07:08:00.9195579Z         "unit"
2026-06-10T07:08:00.9196213Z       ],
2026-06-10T07:08:00.9196820Z       "stages": {
2026-06-10T07:08:00.9197464Z         "doc": {
2026-06-10T07:08:00.9198132Z           "complete": false,
2026-06-10T07:08:00.9198886Z           "evidence": []
2026-06-10T07:08:00.9199660Z         },
2026-06-10T07:08:00.9200265Z         "impl": {
2026-06-10T07:08:00.9200918Z           "complete": true,
2026-06-10T07:08:00.9201642Z           "evidence": [
2026-06-10T07:08:00.9202328Z             {
2026-06-10T07:08:00.9203034Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9203896Z               "line": 193
2026-06-10T07:08:00.9204598Z             },
2026-06-10T07:08:00.9205223Z             {
2026-06-10T07:08:00.9205910Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9206893Z               "line": 799
2026-06-10T07:08:00.9207605Z             },
2026-06-10T07:08:00.9208244Z             {
2026-06-10T07:08:00.9208926Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9209901Z               "line": 1105
2026-06-10T07:08:00.9210605Z             },
2026-06-10T07:08:00.9211235Z             {
2026-06-10T07:08:00.9211911Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9212878Z               "line": 2228
2026-06-10T07:08:00.9213584Z             }
2026-06-10T07:08:00.9214208Z           ]
2026-06-10T07:08:00.9214813Z         },
2026-06-10T07:08:00.9215426Z         "int": {
2026-06-10T07:08:00.9216084Z           "complete": false,
2026-06-10T07:08:00.9216834Z           "evidence": []
2026-06-10T07:08:00.9217530Z         },
2026-06-10T07:08:00.9218141Z         "unit": {
2026-06-10T07:08:00.9218794Z           "complete": true,
2026-06-10T07:08:00.9219618Z           "evidence": [
2026-06-10T07:08:00.9220295Z             {
2026-06-10T07:08:00.9220999Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9221851Z               "line": 5352
2026-06-10T07:08:00.9222548Z             }
2026-06-10T07:08:00.9223166Z           ]
2026-06-10T07:08:00.9223772Z         }
2026-06-10T07:08:00.9224368Z       }
2026-06-10T07:08:00.9225180Z     },
2026-06-10T07:08:00.9225781Z     {
2026-06-10T07:08:00.9226381Z       "id": "REQ-CLI-2",
2026-06-10T07:08:00.9229201Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-10T07:08:00.9232092Z       "requiredStages": [
2026-06-10T07:08:00.9232813Z         "impl",
2026-06-10T07:08:00.9233467Z         "unit"
2026-06-10T07:08:00.9234109Z       ],
2026-06-10T07:08:00.9234743Z       "stages": {
2026-06-10T07:08:00.9235411Z         "doc": {
2026-06-10T07:08:00.9236086Z           "complete": false,
2026-06-10T07:08:00.9236842Z           "evidence": []
2026-06-10T07:08:00.9237557Z         },
2026-06-10T07:08:00.9238186Z         "impl": {
2026-06-10T07:08:00.9238862Z           "complete": true,
2026-06-10T07:08:00.9239681Z           "evidence": [
2026-06-10T07:08:00.9240372Z             {
2026-06-10T07:08:00.9241126Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9242085Z               "line": 345
2026-06-10T07:08:00.9242796Z             },
2026-06-10T07:08:00.9243430Z             {
2026-06-10T07:08:00.9244173Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-10T07:08:00.9245107Z               "line": 78
2026-06-10T07:08:00.9245822Z             },
2026-06-10T07:08:00.9246455Z             {
2026-06-10T07:08:00.9247192Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-10T07:08:00.9248122Z               "line": 239
2026-06-10T07:08:00.9248815Z             },
2026-06-10T07:08:00.9249542Z             {
2026-06-10T07:08:00.9250227Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9251105Z               "line": 337
2026-06-10T07:08:00.9251814Z             },
2026-06-10T07:08:00.9252450Z             {
2026-06-10T07:08:00.9253136Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9254019Z               "line": 842
2026-06-10T07:08:00.9254728Z             },
2026-06-10T07:08:00.9255368Z             {
2026-06-10T07:08:00.9256068Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9256940Z               "line": 1296
2026-06-10T07:08:00.9257666Z             },
2026-06-10T07:08:00.9258300Z             {
2026-06-10T07:08:00.9259160Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9260049Z               "line": 1375
2026-06-10T07:08:00.9260753Z             },
2026-06-10T07:08:00.9261383Z             {
2026-06-10T07:08:00.9262059Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9262914Z               "line": 1436
2026-06-10T07:08:00.9263615Z             }
2026-06-10T07:08:00.9264430Z           ]
2026-06-10T07:08:00.9265041Z         },
2026-06-10T07:08:00.9265651Z         "int": {
2026-06-10T07:08:00.9266322Z           "complete": false,
2026-06-10T07:08:00.9267077Z           "evidence": []
2026-06-10T07:08:00.9267776Z         },
2026-06-10T07:08:00.9268389Z         "unit": {
2026-06-10T07:08:00.9269123Z           "complete": true,
2026-06-10T07:08:00.9269862Z           "evidence": [
2026-06-10T07:08:00.9270681Z             {
2026-06-10T07:08:00.9271422Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-10T07:08:00.9272347Z               "line": 309
2026-06-10T07:08:00.9273038Z             },
2026-06-10T07:08:00.9273665Z             {
2026-06-10T07:08:00.9274342Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9275191Z               "line": 5490
2026-06-10T07:08:00.9275891Z             }
2026-06-10T07:08:00.9276516Z           ]
2026-06-10T07:08:00.9277103Z         }
2026-06-10T07:08:00.9277694Z       }
2026-06-10T07:08:00.9278298Z     },
2026-06-10T07:08:00.9278882Z     {
2026-06-10T07:08:00.9279617Z       "id": "REQ-CLI-3",
2026-06-10T07:08:00.9282436Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-10T07:08:00.9285436Z       "requiredStages": [
2026-06-10T07:08:00.9286156Z         "impl",
2026-06-10T07:08:00.9286799Z         "unit"
2026-06-10T07:08:00.9287433Z       ],
2026-06-10T07:08:00.9288049Z       "stages": {
2026-06-10T07:08:00.9288743Z         "doc": {
2026-06-10T07:08:00.9289509Z           "complete": false,
2026-06-10T07:08:00.9290258Z           "evidence": []
2026-06-10T07:08:00.9290959Z         },
2026-06-10T07:08:00.9291577Z         "impl": {
2026-06-10T07:08:00.9292501Z           "complete": true,
2026-06-10T07:08:00.9293244Z           "evidence": [
2026-06-10T07:08:00.9293942Z             {
2026-06-10T07:08:00.9294628Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9295486Z               "line": 793
2026-06-10T07:08:00.9296183Z             }
2026-06-10T07:08:00.9296804Z           ]
2026-06-10T07:08:00.9297421Z         },
2026-06-10T07:08:00.9298031Z         "int": {
2026-06-10T07:08:00.9298714Z           "complete": false,
2026-06-10T07:08:00.9299583Z           "evidence": []
2026-06-10T07:08:00.9300283Z         },
2026-06-10T07:08:00.9300894Z         "unit": {
2026-06-10T07:08:00.9301556Z           "complete": true,
2026-06-10T07:08:00.9310829Z           "evidence": [
2026-06-10T07:08:00.9311565Z             {
2026-06-10T07:08:00.9312265Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9313134Z               "line": 5317
2026-06-10T07:08:00.9313859Z             }
2026-06-10T07:08:00.9314493Z           ]
2026-06-10T07:08:00.9315099Z         }
2026-06-10T07:08:00.9315701Z       }
2026-06-10T07:08:00.9316301Z     },
2026-06-10T07:08:00.9316911Z     {
2026-06-10T07:08:00.9317531Z       "id": "REQ-CONSENT-1",
2026-06-10T07:08:00.9321093Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-10T07:08:00.9324692Z       "requiredStages": [
2026-06-10T07:08:00.9325411Z         "impl",
2026-06-10T07:08:00.9326066Z         "unit"
2026-06-10T07:08:00.9326704Z       ],
2026-06-10T07:08:00.9327343Z       "stages": {
2026-06-10T07:08:00.9327992Z         "doc": {
2026-06-10T07:08:00.9328659Z           "complete": false,
2026-06-10T07:08:00.9329503Z           "evidence": []
2026-06-10T07:08:00.9330217Z         },
2026-06-10T07:08:00.9330833Z         "impl": {
2026-06-10T07:08:00.9331493Z           "complete": true,
2026-06-10T07:08:00.9332230Z           "evidence": [
2026-06-10T07:08:00.9333108Z             {
2026-06-10T07:08:00.9333837Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9334745Z               "line": 27
2026-06-10T07:08:00.9335642Z             },
2026-06-10T07:08:00.9336286Z             {
2026-06-10T07:08:00.9337021Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9337946Z               "line": 75
2026-06-10T07:08:00.9338763Z             },
2026-06-10T07:08:00.9339486Z             {
2026-06-10T07:08:00.9340206Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9341093Z               "line": 98
2026-06-10T07:08:00.9341794Z             },
2026-06-10T07:08:00.9342410Z             {
2026-06-10T07:08:00.9343124Z               "path": "crates/spt-store/src/grants.rs",
2026-06-10T07:08:00.9344021Z               "line": 82
2026-06-10T07:08:00.9344705Z             },
2026-06-10T07:08:00.9345473Z             {
2026-06-10T07:08:00.9346259Z               "path": "crates/spt-store/src/grants.rs",
2026-06-10T07:08:00.9347177Z               "line": 109
2026-06-10T07:08:00.9347882Z             },
2026-06-10T07:08:00.9348506Z             {
2026-06-10T07:08:00.9349337Z               "path": "crates/spt-store/src/grants.rs",
2026-06-10T07:08:00.9350245Z               "line": 127
2026-06-10T07:08:00.9350947Z             },
2026-06-10T07:08:00.9351577Z             {
2026-06-10T07:08:00.9352308Z               "path": "crates/spt-store/src/grants.rs",
2026-06-10T07:08:00.9353209Z               "line": 142
2026-06-10T07:08:00.9353918Z             },
2026-06-10T07:08:00.9354553Z             {
2026-06-10T07:08:00.9355241Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9356104Z               "line": 5053
2026-06-10T07:08:00.9356828Z             }
2026-06-10T07:08:00.9357439Z           ]
2026-06-10T07:08:00.9358052Z         },
2026-06-10T07:08:00.9358685Z         "int": {
2026-06-10T07:08:00.9359448Z           "complete": false,
2026-06-10T07:08:00.9360217Z           "evidence": []
2026-06-10T07:08:00.9360926Z         },
2026-06-10T07:08:00.9361536Z         "unit": {
2026-06-10T07:08:00.9362250Z           "complete": true,
2026-06-10T07:08:00.9362986Z           "evidence": [
2026-06-10T07:08:00.9363672Z             {
2026-06-10T07:08:00.9364389Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9365290Z               "line": 334
2026-06-10T07:08:00.9365997Z             },
2026-06-10T07:08:00.9366617Z             {
2026-06-10T07:08:00.9367332Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9368227Z               "line": 380
2026-06-10T07:08:00.9368921Z             },
2026-06-10T07:08:00.9369627Z             {
2026-06-10T07:08:00.9370337Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9371237Z               "line": 391
2026-06-10T07:08:00.9371928Z             },
2026-06-10T07:08:00.9372558Z             {
2026-06-10T07:08:00.9373267Z               "path": "crates/spt-store/src/grants.rs",
2026-06-10T07:08:00.9374170Z               "line": 165
2026-06-10T07:08:00.9374872Z             },
2026-06-10T07:08:00.9375492Z             {
2026-06-10T07:08:00.9376206Z               "path": "crates/spt-store/src/grants.rs",
2026-06-10T07:08:00.9377104Z               "line": 184
2026-06-10T07:08:00.9377802Z             },
2026-06-10T07:08:00.9378431Z             {
2026-06-10T07:08:00.9379224Z               "path": "crates/spt-store/src/grants.rs",
2026-06-10T07:08:00.9380134Z               "line": 204
2026-06-10T07:08:00.9380835Z             },
2026-06-10T07:08:00.9381473Z             {
2026-06-10T07:08:00.9382150Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9383009Z               "line": 5670
2026-06-10T07:08:00.9383704Z             }
2026-06-10T07:08:00.9384331Z           ]
2026-06-10T07:08:00.9384927Z         }
2026-06-10T07:08:00.9385518Z       }
2026-06-10T07:08:00.9386101Z     },
2026-06-10T07:08:00.9386704Z     {
2026-06-10T07:08:00.9387321Z       "id": "REQ-CONSENT-2",
2026-06-10T07:08:00.9390662Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-10T07:08:00.9393959Z       "requiredStages": [
2026-06-10T07:08:00.9394777Z         "impl",
2026-06-10T07:08:00.9395416Z         "unit"
2026-06-10T07:08:00.9396041Z       ],
2026-06-10T07:08:00.9396651Z       "stages": {
2026-06-10T07:08:00.9397297Z         "doc": {
2026-06-10T07:08:00.9397954Z           "complete": false,
2026-06-10T07:08:00.9398702Z           "evidence": []
2026-06-10T07:08:00.9399547Z         },
2026-06-10T07:08:00.9400157Z         "impl": {
2026-06-10T07:08:00.9400816Z           "complete": true,
2026-06-10T07:08:00.9401574Z           "evidence": [
2026-06-10T07:08:00.9402250Z             {
2026-06-10T07:08:00.9402989Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9403918Z               "line": 140
2026-06-10T07:08:00.9404624Z             },
2026-06-10T07:08:00.9405255Z             {
2026-06-10T07:08:00.9405981Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9406901Z               "line": 165
2026-06-10T07:08:00.9407588Z             },
2026-06-10T07:08:00.9408223Z             {
2026-06-10T07:08:00.9409043Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9409948Z               "line": 199
2026-06-10T07:08:00.9410641Z             },
2026-06-10T07:08:00.9411261Z             {
2026-06-10T07:08:00.9411986Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9412887Z               "line": 241
2026-06-10T07:08:00.9413582Z             },
2026-06-10T07:08:00.9414207Z             {
2026-06-10T07:08:00.9414933Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9415829Z               "line": 269
2026-06-10T07:08:00.9416532Z             },
2026-06-10T07:08:00.9417156Z             {
2026-06-10T07:08:00.9417871Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9418778Z               "line": 300
2026-06-10T07:08:00.9419583Z             },
2026-06-10T07:08:00.9420208Z             {
2026-06-10T07:08:00.9420889Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9421750Z               "line": 4918
2026-06-10T07:08:00.9422456Z             },
2026-06-10T07:08:00.9423085Z             {
2026-06-10T07:08:00.9423766Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9424605Z               "line": 4976
2026-06-10T07:08:00.9425306Z             }
2026-06-10T07:08:00.9425925Z           ]
2026-06-10T07:08:00.9426539Z         },
2026-06-10T07:08:00.9427158Z         "int": {
2026-06-10T07:08:00.9427815Z           "complete": false,
2026-06-10T07:08:00.9428564Z           "evidence": []
2026-06-10T07:08:00.9429329Z         },
2026-06-10T07:08:00.9429934Z         "unit": {
2026-06-10T07:08:00.9430593Z           "complete": true,
2026-06-10T07:08:00.9431322Z           "evidence": [
2026-06-10T07:08:00.9432001Z             {
2026-06-10T07:08:00.9432729Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9433650Z               "line": 419
2026-06-10T07:08:00.9434349Z             },
2026-06-10T07:08:00.9435036Z             {
2026-06-10T07:08:00.9435828Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9436757Z               "line": 436
2026-06-10T07:08:00.9437447Z             },
2026-06-10T07:08:00.9438080Z             {
2026-06-10T07:08:00.9438809Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9439831Z               "line": 472
2026-06-10T07:08:00.9440552Z             },
2026-06-10T07:08:00.9441177Z             {
2026-06-10T07:08:00.9441901Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:00.9442799Z               "line": 516
2026-06-10T07:08:00.9443509Z             },
2026-06-10T07:08:00.9444258Z             {
2026-06-10T07:08:00.9445173Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9446050Z               "line": 6565
2026-06-10T07:08:00.9446754Z             },
2026-06-10T07:08:00.9447377Z             {
2026-06-10T07:08:00.9448058Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9448913Z               "line": 6647
2026-06-10T07:08:00.9449733Z             }
2026-06-10T07:08:00.9450487Z           ]
2026-06-10T07:08:00.9451098Z         }
2026-06-10T07:08:00.9451694Z       }
2026-06-10T07:08:00.9452289Z     },
2026-06-10T07:08:00.9452882Z     {
2026-06-10T07:08:00.9453501Z       "id": "REQ-CONV-1",
2026-06-10T07:08:00.9458514Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-10T07:08:00.9463186Z       "requiredStages": [
2026-06-10T07:08:00.9463901Z         "impl",
2026-06-10T07:08:00.9464525Z         "unit"
2026-06-10T07:08:00.9465174Z       ],
2026-06-10T07:08:00.9465779Z       "stages": {
2026-06-10T07:08:00.9466445Z         "doc": {
2026-06-10T07:08:00.9467104Z           "complete": false,
2026-06-10T07:08:00.9467851Z           "evidence": []
2026-06-10T07:08:00.9468540Z         },
2026-06-10T07:08:00.9469230Z         "impl": {
2026-06-10T07:08:00.9469899Z           "complete": true,
2026-06-10T07:08:00.9470625Z           "evidence": [
2026-06-10T07:08:00.9471309Z             {
2026-06-10T07:08:00.9472041Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:00.9472966Z               "line": 696
2026-06-10T07:08:00.9473671Z             },
2026-06-10T07:08:00.9474293Z             {
2026-06-10T07:08:00.9475022Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:00.9475928Z               "line": 94
2026-06-10T07:08:00.9476628Z             },
2026-06-10T07:08:00.9477262Z             {
2026-06-10T07:08:00.9477988Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:00.9478911Z               "line": 345
2026-06-10T07:08:00.9479667Z             },
2026-06-10T07:08:00.9480283Z             {
2026-06-10T07:08:00.9481002Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:00.9481906Z               "line": 387
2026-06-10T07:08:00.9482592Z             },
2026-06-10T07:08:00.9483211Z             {
2026-06-10T07:08:00.9483941Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:00.9484839Z               "line": 472
2026-06-10T07:08:00.9485530Z             },
2026-06-10T07:08:00.9486150Z             {
2026-06-10T07:08:00.9486886Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9487798Z               "line": 629
2026-06-10T07:08:00.9488496Z             },
2026-06-10T07:08:00.9489230Z             {
2026-06-10T07:08:00.9489965Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9490876Z               "line": 655
2026-06-10T07:08:00.9491577Z             },
2026-06-10T07:08:00.9492201Z             {
2026-06-10T07:08:00.9492937Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:00.9493862Z               "line": 369
2026-06-10T07:08:00.9494559Z             },
2026-06-10T07:08:00.9495188Z             {
2026-06-10T07:08:00.9495920Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-10T07:08:00.9496835Z               "line": 19
2026-06-10T07:08:00.9497537Z             }
2026-06-10T07:08:00.9498155Z           ]
2026-06-10T07:08:00.9498760Z         },
2026-06-10T07:08:00.9499438Z         "int": {
2026-06-10T07:08:00.9500089Z           "complete": false,
2026-06-10T07:08:00.9500830Z           "evidence": []
2026-06-10T07:08:00.9501656Z         },
2026-06-10T07:08:00.9502267Z         "unit": {
2026-06-10T07:08:00.9502918Z           "complete": true,
2026-06-10T07:08:00.9503655Z           "evidence": [
2026-06-10T07:08:00.9504327Z             {
2026-06-10T07:08:00.9505061Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9505969Z               "line": 990
2026-06-10T07:08:00.9506678Z             },
2026-06-10T07:08:00.9507429Z             {
2026-06-10T07:08:00.9508171Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-10T07:08:00.9509167Z               "line": 108
2026-06-10T07:08:00.9509868Z             },
2026-06-10T07:08:00.9510496Z             {
2026-06-10T07:08:00.9511224Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-10T07:08:00.9512134Z               "line": 134
2026-06-10T07:08:00.9512827Z             },
2026-06-10T07:08:00.9513454Z             {
2026-06-10T07:08:00.9514177Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-10T07:08:00.9515084Z               "line": 144
2026-06-10T07:08:00.9515794Z             }
2026-06-10T07:08:00.9516410Z           ]
2026-06-10T07:08:00.9517011Z         }
2026-06-10T07:08:00.9517611Z       }
2026-06-10T07:08:00.9518197Z     },
2026-06-10T07:08:00.9518783Z     {
2026-06-10T07:08:00.9519488Z       "id": "REQ-CONV-2",
2026-06-10T07:08:00.9523143Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-10T07:08:00.9526774Z       "requiredStages": [
2026-06-10T07:08:00.9527499Z         "impl",
2026-06-10T07:08:00.9528133Z         "unit"
2026-06-10T07:08:00.9528743Z       ],
2026-06-10T07:08:00.9529419Z       "stages": {
2026-06-10T07:08:00.9530053Z         "doc": {
2026-06-10T07:08:00.9530702Z           "complete": false,
2026-06-10T07:08:00.9531443Z           "evidence": []
2026-06-10T07:08:00.9532140Z         },
2026-06-10T07:08:00.9532745Z         "impl": {
2026-06-10T07:08:00.9533403Z           "complete": true,
2026-06-10T07:08:00.9534127Z           "evidence": [
2026-06-10T07:08:00.9534815Z             {
2026-06-10T07:08:00.9535550Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9536485Z               "line": 316
2026-06-10T07:08:00.9537189Z             },
2026-06-10T07:08:00.9537812Z             {
2026-06-10T07:08:00.9538560Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9539618Z               "line": 333
2026-06-10T07:08:00.9540318Z             },
2026-06-10T07:08:00.9540943Z             {
2026-06-10T07:08:00.9541692Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:00.9542627Z               "line": 761
2026-06-10T07:08:00.9543315Z             },
2026-06-10T07:08:00.9543925Z             {
2026-06-10T07:08:00.9544682Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:00.9545614Z               "line": 772
2026-06-10T07:08:00.9546304Z             },
2026-06-10T07:08:00.9546930Z             {
2026-06-10T07:08:00.9547648Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:00.9548542Z               "line": 334
2026-06-10T07:08:00.9549316Z             },
2026-06-10T07:08:00.9549941Z             {
2026-06-10T07:08:00.9550616Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9551459Z               "line": 2183
2026-06-10T07:08:00.9552157Z             },
2026-06-10T07:08:00.9552780Z             {
2026-06-10T07:08:00.9553445Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9554289Z               "line": 2199
2026-06-10T07:08:00.9554975Z             },
2026-06-10T07:08:00.9555590Z             {
2026-06-10T07:08:00.9556254Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9557099Z               "line": 2256
2026-06-10T07:08:00.9557900Z             }
2026-06-10T07:08:00.9558516Z           ]
2026-06-10T07:08:00.9559213Z         },
2026-06-10T07:08:00.9559818Z         "int": {
2026-06-10T07:08:00.9560477Z           "complete": false,
2026-06-10T07:08:00.9561215Z           "evidence": []
2026-06-10T07:08:00.9561901Z         },
2026-06-10T07:08:00.9562512Z         "unit": {
2026-06-10T07:08:00.9563170Z           "complete": true,
2026-06-10T07:08:00.9564014Z           "evidence": [
2026-06-10T07:08:00.9564692Z             {
2026-06-10T07:08:00.9565426Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9566340Z               "line": 1071
2026-06-10T07:08:00.9567040Z             }
2026-06-10T07:08:00.9567664Z           ]
2026-06-10T07:08:00.9568275Z         }
2026-06-10T07:08:00.9568893Z       }
2026-06-10T07:08:00.9569554Z     },
2026-06-10T07:08:00.9570146Z     {
2026-06-10T07:08:00.9621707Z       "id": "REQ-DAEMON-1",
2026-06-10T07:08:00.9623008Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-10T07:08:00.9624201Z       "requiredStages": [
2026-06-10T07:08:00.9624919Z         "impl",
2026-06-10T07:08:00.9625553Z         "unit",
2026-06-10T07:08:00.9626192Z         "int"
2026-06-10T07:08:00.9626834Z       ],
2026-06-10T07:08:00.9627438Z       "stages": {
2026-06-10T07:08:00.9628072Z         "doc": {
2026-06-10T07:08:00.9628735Z           "complete": false,
2026-06-10T07:08:00.9629591Z           "evidence": []
2026-06-10T07:08:00.9630276Z         },
2026-06-10T07:08:00.9630877Z         "impl": {
2026-06-10T07:08:00.9631526Z           "complete": true,
2026-06-10T07:08:00.9632239Z           "evidence": [
2026-06-10T07:08:00.9632905Z             {
2026-06-10T07:08:00.9633615Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:00.9634517Z               "line": 12
2026-06-10T07:08:00.9635484Z             },
2026-06-10T07:08:00.9636103Z             {
2026-06-10T07:08:00.9636832Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9637746Z               "line": 16
2026-06-10T07:08:00.9638427Z             },
2026-06-10T07:08:00.9639156Z             {
2026-06-10T07:08:00.9639853Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-10T07:08:00.9640721Z               "line": 15
2026-06-10T07:08:00.9641403Z             },
2026-06-10T07:08:00.9642023Z             {
2026-06-10T07:08:00.9642708Z               "path": "crates/spt/src/api/live.rs",
2026-06-10T07:08:00.9643574Z               "line": 13
2026-06-10T07:08:00.9644246Z             }
2026-06-10T07:08:00.9644852Z           ]
2026-06-10T07:08:00.9645633Z         },
2026-06-10T07:08:00.9646229Z         "int": {
2026-06-10T07:08:00.9646873Z           "complete": true,
2026-06-10T07:08:00.9647632Z           "evidence": [
2026-06-10T07:08:00.9648311Z             {
2026-06-10T07:08:00.9649202Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-10T07:08:00.9650142Z               "line": 32
2026-06-10T07:08:00.9650826Z             }
2026-06-10T07:08:00.9651454Z           ]
2026-06-10T07:08:00.9652055Z         },
2026-06-10T07:08:00.9652661Z         "unit": {
2026-06-10T07:08:00.9653321Z           "complete": true,
2026-06-10T07:08:00.9654025Z           "evidence": [
2026-06-10T07:08:00.9654688Z             {
2026-06-10T07:08:00.9655398Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:00.9656275Z               "line": 285
2026-06-10T07:08:00.9656961Z             },
2026-06-10T07:08:00.9657581Z             {
2026-06-10T07:08:00.9658295Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:00.9659270Z               "line": 293
2026-06-10T07:08:00.9659961Z             },
2026-06-10T07:08:00.9660567Z             {
2026-06-10T07:08:00.9661276Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:00.9662160Z               "line": 309
2026-06-10T07:08:00.9662848Z             },
2026-06-10T07:08:00.9663463Z             {
2026-06-10T07:08:00.9664170Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:00.9665347Z               "line": 317
2026-06-10T07:08:00.9666044Z             },
2026-06-10T07:08:00.9666662Z             {
2026-06-10T07:08:00.9667383Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9668293Z               "line": 565
2026-06-10T07:08:00.9669291Z             },
2026-06-10T07:08:00.9669921Z             {
2026-06-10T07:08:00.9670646Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9671685Z               "line": 635
2026-06-10T07:08:00.9672401Z             },
2026-06-10T07:08:00.9673022Z             {
2026-06-10T07:08:00.9673723Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-10T07:08:00.9674606Z               "line": 104
2026-06-10T07:08:00.9675292Z             },
2026-06-10T07:08:00.9675941Z             {
2026-06-10T07:08:00.9676638Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-10T07:08:00.9677518Z               "line": 129
2026-06-10T07:08:00.9678209Z             }
2026-06-10T07:08:00.9678835Z           ]
2026-06-10T07:08:00.9679515Z         }
2026-06-10T07:08:00.9680113Z       }
2026-06-10T07:08:00.9680681Z     },
2026-06-10T07:08:00.9681258Z     {
2026-06-10T07:08:00.9681874Z       "id": "REQ-DAEMON-2",
2026-06-10T07:08:00.9682733Z       "title": "Broker/brain split for seamless self-update",
2026-06-10T07:08:00.9683696Z       "requiredStages": [
2026-06-10T07:08:00.9684417Z         "impl",
2026-06-10T07:08:00.9685054Z         "unit",
2026-06-10T07:08:00.9685677Z         "int"
2026-06-10T07:08:00.9686292Z       ],
2026-06-10T07:08:00.9686888Z       "stages": {
2026-06-10T07:08:00.9687503Z         "doc": {
2026-06-10T07:08:00.9688150Z           "complete": false,
2026-06-10T07:08:00.9688886Z           "evidence": []
2026-06-10T07:08:00.9689657Z         },
2026-06-10T07:08:00.9690264Z         "impl": {
2026-06-10T07:08:00.9690912Z           "complete": true,
2026-06-10T07:08:00.9691690Z           "evidence": [
2026-06-10T07:08:00.9692363Z             {
2026-06-10T07:08:00.9693080Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:00.9693952Z               "line": 23
2026-06-10T07:08:00.9694629Z             },
2026-06-10T07:08:00.9695245Z             {
2026-06-10T07:08:00.9695961Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:00.9696834Z               "line": 584
2026-06-10T07:08:00.9697515Z             },
2026-06-10T07:08:00.9698135Z             {
2026-06-10T07:08:00.9698835Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:00.9699803Z               "line": 637
2026-06-10T07:08:00.9700502Z             },
2026-06-10T07:08:00.9701120Z             {
2026-06-10T07:08:00.9701830Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:00.9702702Z               "line": 819
2026-06-10T07:08:00.9703441Z             },
2026-06-10T07:08:00.9704096Z             {
2026-06-10T07:08:00.9704807Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:00.9705689Z               "line": 32
2026-06-10T07:08:00.9706372Z             },
2026-06-10T07:08:00.9706982Z             {
2026-06-10T07:08:00.9707688Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:00.9708570Z               "line": 255
2026-06-10T07:08:00.9709342Z             },
2026-06-10T07:08:00.9709982Z             {
2026-06-10T07:08:00.9710706Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:00.9711589Z               "line": 661
2026-06-10T07:08:00.9712281Z             },
2026-06-10T07:08:00.9712897Z             {
2026-06-10T07:08:00.9713610Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:00.9714495Z               "line": 927
2026-06-10T07:08:00.9715177Z             },
2026-06-10T07:08:00.9715792Z             {
2026-06-10T07:08:00.9716487Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-10T07:08:00.9717372Z               "line": 11
2026-06-10T07:08:00.9717663Z             },
2026-06-10T07:08:00.9717944Z             {
2026-06-10T07:08:00.9718588Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9718883Z               "line": 146
2026-06-10T07:08:00.9719270Z             },
2026-06-10T07:08:00.9719554Z             {
2026-06-10T07:08:00.9719946Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9720246Z               "line": 274
2026-06-10T07:08:00.9720523Z             },
2026-06-10T07:08:00.9720885Z             {
2026-06-10T07:08:00.9721252Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-10T07:08:00.9721548Z               "line": 13
2026-06-10T07:08:00.9721818Z             },
2026-06-10T07:08:00.9722097Z             {
2026-06-10T07:08:00.9722479Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:00.9722760Z               "line": 27
2026-06-10T07:08:00.9723046Z             },
2026-06-10T07:08:00.9723322Z             {
2026-06-10T07:08:00.9723705Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:00.9724005Z               "line": 109
2026-06-10T07:08:00.9724300Z             },
2026-06-10T07:08:00.9724580Z             {
2026-06-10T07:08:00.9724954Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:00.9725249Z               "line": 447
2026-06-10T07:08:00.9725521Z             },
2026-06-10T07:08:00.9725808Z             {
2026-06-10T07:08:00.9726194Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:00.9726490Z               "line": 614
2026-06-10T07:08:00.9726766Z             },
2026-06-10T07:08:00.9727057Z             {
2026-06-10T07:08:00.9727440Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:00.9727731Z               "line": 715
2026-06-10T07:08:00.9728018Z             },
2026-06-10T07:08:00.9728299Z             {
2026-06-10T07:08:00.9728680Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:00.9729052Z               "line": 764
2026-06-10T07:08:00.9729328Z             },
2026-06-10T07:08:00.9729609Z             {
2026-06-10T07:08:00.9729990Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:00.9730286Z               "line": 812
2026-06-10T07:08:00.9730582Z             },
2026-06-10T07:08:00.9730863Z             {
2026-06-10T07:08:00.9731259Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-10T07:08:00.9731554Z               "line": 10
2026-06-10T07:08:00.9731845Z             }
2026-06-10T07:08:00.9732132Z           ]
2026-06-10T07:08:00.9732421Z         },
2026-06-10T07:08:00.9732709Z         "int": {
2026-06-10T07:08:00.9733014Z           "complete": true,
2026-06-10T07:08:00.9733316Z           "evidence": [
2026-06-10T07:08:00.9733596Z             {
2026-06-10T07:08:00.9733983Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-10T07:08:00.9734284Z               "line": 17
2026-06-10T07:08:00.9734570Z             },
2026-06-10T07:08:00.9734856Z             {
2026-06-10T07:08:00.9735259Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-10T07:08:00.9735567Z               "line": 33
2026-06-10T07:08:00.9735877Z             },
2026-06-10T07:08:00.9736216Z             {
2026-06-10T07:08:00.9736606Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-10T07:08:00.9736903Z               "line": 19
2026-06-10T07:08:00.9737199Z             },
2026-06-10T07:08:00.9737475Z             {
2026-06-10T07:08:00.9737882Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-10T07:08:00.9738182Z               "line": 71
2026-06-10T07:08:00.9738473Z             },
2026-06-10T07:08:00.9738759Z             {
2026-06-10T07:08:00.9739245Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-10T07:08:00.9739550Z               "line": 91
2026-06-10T07:08:00.9739855Z             },
2026-06-10T07:08:00.9740136Z             {
2026-06-10T07:08:00.9740550Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-10T07:08:00.9740841Z               "line": 167
2026-06-10T07:08:00.9741133Z             },
2026-06-10T07:08:00.9741409Z             {
2026-06-10T07:08:00.9741914Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-10T07:08:00.9742209Z               "line": 209
2026-06-10T07:08:00.9742496Z             },
2026-06-10T07:08:00.9742781Z             {
2026-06-10T07:08:00.9743193Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-10T07:08:00.9743493Z               "line": 128
2026-06-10T07:08:00.9743876Z             }
2026-06-10T07:08:00.9744171Z           ]
2026-06-10T07:08:00.9744452Z         },
2026-06-10T07:08:00.9744742Z         "unit": {
2026-06-10T07:08:00.9745048Z           "complete": true,
2026-06-10T07:08:00.9745349Z           "evidence": [
2026-06-10T07:08:00.9745629Z             {
2026-06-10T07:08:00.9745998Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-10T07:08:00.9746298Z               "line": 62
2026-06-10T07:08:00.9746581Z             },
2026-06-10T07:08:00.9746871Z             {
2026-06-10T07:08:00.9747243Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-10T07:08:00.9747552Z               "line": 76
2026-06-10T07:08:00.9747843Z             },
2026-06-10T07:08:00.9748126Z             {
2026-06-10T07:08:00.9748503Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-10T07:08:00.9748799Z               "line": 88
2026-06-10T07:08:00.9749228Z             },
2026-06-10T07:08:00.9749509Z             {
2026-06-10T07:08:00.9749934Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-10T07:08:00.9750326Z               "line": 294
2026-06-10T07:08:00.9750710Z             },
2026-06-10T07:08:00.9751039Z             {
2026-06-10T07:08:00.9751467Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-10T07:08:00.9751840Z               "line": 620
2026-06-10T07:08:00.9752155Z             },
2026-06-10T07:08:00.9752518Z             {
2026-06-10T07:08:00.9752928Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-10T07:08:00.9753289Z               "line": 628
2026-06-10T07:08:00.9753644Z             },
2026-06-10T07:08:00.9753963Z             {
2026-06-10T07:08:00.9754411Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-10T07:08:00.9754746Z               "line": 645
2026-06-10T07:08:00.9755194Z             },
2026-06-10T07:08:00.9755599Z             {
2026-06-10T07:08:00.9756034Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-10T07:08:00.9756455Z               "line": 699
2026-06-10T07:08:00.9756868Z             },
2026-06-10T07:08:00.9757211Z             {
2026-06-10T07:08:00.9757646Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:00.9757990Z               "line": 883
2026-06-10T07:08:00.9758357Z             },
2026-06-10T07:08:00.9758691Z             {
2026-06-10T07:08:00.9759249Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:00.9759617Z               "line": 895
2026-06-10T07:08:00.9759960Z             },
2026-06-10T07:08:00.9760247Z             {
2026-06-10T07:08:00.9760794Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-10T07:08:00.9761177Z               "line": 110
2026-06-10T07:08:00.9761487Z             },
2026-06-10T07:08:00.9761828Z             {
2026-06-10T07:08:00.9762234Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-10T07:08:00.9762628Z               "line": 142
2026-06-10T07:08:00.9762953Z             }
2026-06-10T07:08:00.9763296Z           ]
2026-06-10T07:08:00.9763640Z         }
2026-06-10T07:08:00.9763939Z       }
2026-06-10T07:08:00.9764327Z     },
2026-06-10T07:08:00.9764652Z     {
2026-06-10T07:08:00.9765024Z       "id": "REQ-DAEMON-3",
2026-06-10T07:08:00.9765529Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-10T07:08:00.9765965Z       "requiredStages": [
2026-06-10T07:08:00.9766374Z         "impl",
2026-06-10T07:08:00.9766684Z         "unit",
2026-06-10T07:08:00.9767034Z         "int"
2026-06-10T07:08:00.9767338Z       ],
2026-06-10T07:08:00.9767672Z       "stages": {
2026-06-10T07:08:00.9768153Z         "doc": {
2026-06-10T07:08:00.9768492Z           "complete": false,
2026-06-10T07:08:00.9769083Z           "evidence": []
2026-06-10T07:08:00.9769392Z         },
2026-06-10T07:08:00.9769723Z         "impl": {
2026-06-10T07:08:00.9770119Z           "complete": true,
2026-06-10T07:08:00.9770478Z           "evidence": [
2026-06-10T07:08:00.9770812Z             {
2026-06-10T07:08:00.9771254Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9771717Z               "line": 14
2026-06-10T07:08:00.9772076Z             },
2026-06-10T07:08:00.9772436Z             {
2026-06-10T07:08:00.9772859Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-10T07:08:00.9773227Z               "line": 11
2026-06-10T07:08:00.9773556Z             },
2026-06-10T07:08:00.9773904Z             {
2026-06-10T07:08:00.9774334Z               "path": "crates/spt/src/api/mod.rs",
2026-06-10T07:08:00.9774652Z               "line": 247
2026-06-10T07:08:00.9775008Z             },
2026-06-10T07:08:00.9775337Z             {
2026-06-10T07:08:00.9775822Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9776333Z               "line": 1294
2026-06-10T07:08:00.9776638Z             },
2026-06-10T07:08:00.9776990Z             {
2026-06-10T07:08:00.9777418Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9777808Z               "line": 3127
2026-06-10T07:08:00.9778175Z             },
2026-06-10T07:08:00.9778485Z             {
2026-06-10T07:08:00.9778904Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9779328Z               "line": 3148
2026-06-10T07:08:00.9779702Z             }
2026-06-10T07:08:00.9780028Z           ]
2026-06-10T07:08:00.9780374Z         },
2026-06-10T07:08:00.9780752Z         "int": {
2026-06-10T07:08:00.9781113Z           "complete": true,
2026-06-10T07:08:00.9781481Z           "evidence": [
2026-06-10T07:08:00.9781810Z             {
2026-06-10T07:08:00.9782268Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-10T07:08:00.9782743Z               "line": 46
2026-06-10T07:08:00.9783063Z             },
2026-06-10T07:08:00.9783419Z             {
2026-06-10T07:08:00.9783849Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-10T07:08:00.9784251Z               "line": 435
2026-06-10T07:08:00.9784556Z             }
2026-06-10T07:08:00.9784899Z           ]
2026-06-10T07:08:00.9785268Z         },
2026-06-10T07:08:00.9785601Z         "unit": {
2026-06-10T07:08:00.9785982Z           "complete": true,
2026-06-10T07:08:00.9786311Z           "evidence": [
2026-06-10T07:08:00.9786659Z             {
2026-06-10T07:08:00.9787055Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9787480Z               "line": 767
2026-06-10T07:08:00.9787827Z             },
2026-06-10T07:08:00.9788140Z             {
2026-06-10T07:08:00.9788544Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9788849Z               "line": 7620
2026-06-10T07:08:00.9789360Z             }
2026-06-10T07:08:00.9789703Z           ]
2026-06-10T07:08:00.9790013Z         }
2026-06-10T07:08:00.9790362Z       }
2026-06-10T07:08:00.9790655Z     },
2026-06-10T07:08:00.9791054Z     {
2026-06-10T07:08:00.9791393Z       "id": "REQ-DAEMON-4",
2026-06-10T07:08:00.9791845Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-10T07:08:00.9792213Z       "requiredStages": [
2026-06-10T07:08:00.9792514Z         "impl",
2026-06-10T07:08:00.9792923Z         "unit",
2026-06-10T07:08:00.9793243Z         "int"
2026-06-10T07:08:00.9793586Z       ],
2026-06-10T07:08:00.9793904Z       "stages": {
2026-06-10T07:08:00.9794233Z         "doc": {
2026-06-10T07:08:00.9794652Z           "complete": false,
2026-06-10T07:08:00.9794976Z           "evidence": []
2026-06-10T07:08:00.9795315Z         },
2026-06-10T07:08:00.9795638Z         "impl": {
2026-06-10T07:08:00.9796027Z           "complete": true,
2026-06-10T07:08:00.9796385Z           "evidence": [
2026-06-10T07:08:00.9796786Z             {
2026-06-10T07:08:00.9797238Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9797753Z               "line": 371
2026-06-10T07:08:00.9798086Z             },
2026-06-10T07:08:00.9798453Z             {
2026-06-10T07:08:00.9798923Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9799390Z               "line": 436
2026-06-10T07:08:00.9799729Z             },
2026-06-10T07:08:00.9800053Z             {
2026-06-10T07:08:00.9800555Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9801048Z               "line": 458
2026-06-10T07:08:00.9801374Z             }
2026-06-10T07:08:00.9801713Z           ]
2026-06-10T07:08:00.9802037Z         },
2026-06-10T07:08:00.9802381Z         "int": {
2026-06-10T07:08:00.9802759Z           "complete": true,
2026-06-10T07:08:00.9803093Z           "evidence": [
2026-06-10T07:08:00.9803436Z             {
2026-06-10T07:08:00.9803873Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-10T07:08:00.9804249Z               "line": 34
2026-06-10T07:08:00.9804611Z             }
2026-06-10T07:08:00.9804936Z           ]
2026-06-10T07:08:00.9805270Z         },
2026-06-10T07:08:00.9805619Z         "unit": {
2026-06-10T07:08:00.9806006Z           "complete": true,
2026-06-10T07:08:00.9806393Z           "evidence": [
2026-06-10T07:08:00.9806698Z             {
2026-06-10T07:08:00.9807145Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:00.9807493Z               "line": 428
2026-06-10T07:08:00.9807870Z             },
2026-06-10T07:08:00.9808214Z             {
2026-06-10T07:08:00.9808675Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9809161Z               "line": 784
2026-06-10T07:08:00.9809488Z             },
2026-06-10T07:08:00.9809855Z             {
2026-06-10T07:08:00.9810317Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9810675Z               "line": 854
2026-06-10T07:08:00.9810985Z             },
2026-06-10T07:08:00.9811328Z             {
2026-06-10T07:08:00.9811803Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9812403Z               "line": 884
2026-06-10T07:08:00.9812746Z             },
2026-06-10T07:08:00.9813066Z             {
2026-06-10T07:08:00.9813518Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:00.9813910Z               "line": 917
2026-06-10T07:08:00.9814239Z             }
2026-06-10T07:08:00.9814585Z           ]
2026-06-10T07:08:00.9814900Z         }
2026-06-10T07:08:00.9815239Z       }
2026-06-10T07:08:00.9815529Z     },
2026-06-10T07:08:00.9815960Z     {
2026-06-10T07:08:00.9816330Z       "id": "REQ-DAEMON-5",
2026-06-10T07:08:00.9820344Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-10T07:08:00.9820740Z       "requiredStages": [
2026-06-10T07:08:00.9821121Z         "impl",
2026-06-10T07:08:00.9821445Z         "unit"
2026-06-10T07:08:00.9821826Z       ],
2026-06-10T07:08:00.9822155Z       "stages": {
2026-06-10T07:08:00.9822509Z         "doc": {
2026-06-10T07:08:00.9822819Z           "complete": false,
2026-06-10T07:08:00.9823245Z           "evidence": []
2026-06-10T07:08:00.9823597Z         },
2026-06-10T07:08:00.9823912Z         "impl": {
2026-06-10T07:08:00.9824288Z           "complete": true,
2026-06-10T07:08:00.9824589Z           "evidence": [
2026-06-10T07:08:00.9824984Z             {
2026-06-10T07:08:00.9825838Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9826195Z               "line": 323
2026-06-10T07:08:00.9826552Z             },
2026-06-10T07:08:00.9826839Z             {
2026-06-10T07:08:00.9827351Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9827678Z               "line": 724
2026-06-10T07:08:00.9828166Z             },
2026-06-10T07:08:00.9828470Z             {
2026-06-10T07:08:00.9828908Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9829420Z               "line": 737
2026-06-10T07:08:00.9829735Z             },
2026-06-10T07:08:00.9830087Z             {
2026-06-10T07:08:00.9830527Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9830980Z               "line": 755
2026-06-10T07:08:00.9831376Z             },
2026-06-10T07:08:00.9831690Z             {
2026-06-10T07:08:00.9832148Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9832473Z               "line": 796
2026-06-10T07:08:00.9832800Z             }
2026-06-10T07:08:00.9833151Z           ]
2026-06-10T07:08:00.9833514Z         },
2026-06-10T07:08:00.9833861Z         "int": {
2026-06-10T07:08:00.9834195Z           "complete": false,
2026-06-10T07:08:00.9834543Z           "evidence": []
2026-06-10T07:08:00.9834896Z         },
2026-06-10T07:08:00.9835282Z         "unit": {
2026-06-10T07:08:00.9835619Z           "complete": true,
2026-06-10T07:08:00.9835972Z           "evidence": [
2026-06-10T07:08:00.9836291Z             {
2026-06-10T07:08:00.9836793Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9837231Z               "line": 916
2026-06-10T07:08:00.9837541Z             },
2026-06-10T07:08:00.9837893Z             {
2026-06-10T07:08:00.9838325Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9838697Z               "line": 940
2026-06-10T07:08:00.9839130Z             },
2026-06-10T07:08:00.9839450Z             {
2026-06-10T07:08:00.9839904Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:00.9840229Z               "line": 966
2026-06-10T07:08:00.9840614Z             }
2026-06-10T07:08:00.9840969Z           ]
2026-06-10T07:08:00.9841269Z         }
2026-06-10T07:08:00.9841622Z       }
2026-06-10T07:08:00.9841932Z     },
2026-06-10T07:08:00.9842307Z     {
2026-06-10T07:08:00.9842641Z       "id": "REQ-DAEMON-6",
2026-06-10T07:08:00.9848288Z       "title": "Service-aware `daemon start`/`stop`: when an OS service manager has a registered spt-daemon for this user, `spt daemon start` and `spt daemon stop` drive THAT service (so stop doesn't IPC-kill a unit that auto-restart-fights for the broker socket — the kitsubito 2026-06-08 loop). `start` graduates from a `run` alias to a first-class background verb (ensure-up, idempotent, non-blocking); stop routes managed→manager, manual→IPC. Linux=systemd user unit (`systemctl --user start|stop|is-active spt-daemon`, detected by unit-file presence); Windows=no controllable manager (the logon task is boot-only), so start=detached spawn / stop=IPC.",
2026-06-10T07:08:00.9848695Z       "requiredStages": [
2026-06-10T07:08:00.9849157Z         "impl",
2026-06-10T07:08:00.9849529Z         "unit"
2026-06-10T07:08:00.9849887Z       ],
2026-06-10T07:08:00.9850201Z       "stages": {
2026-06-10T07:08:00.9850544Z         "doc": {
2026-06-10T07:08:00.9850915Z           "complete": false,
2026-06-10T07:08:00.9851297Z           "evidence": []
2026-06-10T07:08:00.9851661Z         },
2026-06-10T07:08:00.9851971Z         "impl": {
2026-06-10T07:08:00.9852334Z           "complete": true,
2026-06-10T07:08:00.9852663Z           "evidence": [
2026-06-10T07:08:00.9853026Z             {
2026-06-10T07:08:00.9853454Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9853830Z               "line": 426
2026-06-10T07:08:00.9854190Z             },
2026-06-10T07:08:00.9854500Z             {
2026-06-10T07:08:00.9854973Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9855311Z               "line": 457
2026-06-10T07:08:00.9855654Z             },
2026-06-10T07:08:00.9855973Z             {
2026-06-10T07:08:00.9856422Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9856797Z               "line": 55
2026-06-10T07:08:00.9857121Z             },
2026-06-10T07:08:00.9857584Z             {
2026-06-10T07:08:00.9857998Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9858390Z               "line": 70
2026-06-10T07:08:00.9858753Z             },
2026-06-10T07:08:00.9859240Z             {
2026-06-10T07:08:00.9859654Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9859969Z               "line": 1348
2026-06-10T07:08:00.9860308Z             },
2026-06-10T07:08:00.9860714Z             {
2026-06-10T07:08:00.9861286Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9861635Z               "line": 1374
2026-06-10T07:08:00.9861938Z             }
2026-06-10T07:08:00.9862284Z           ]
2026-06-10T07:08:00.9862623Z         },
2026-06-10T07:08:00.9863027Z         "int": {
2026-06-10T07:08:00.9863361Z           "complete": false,
2026-06-10T07:08:00.9863718Z           "evidence": []
2026-06-10T07:08:00.9864057Z         },
2026-06-10T07:08:00.9864357Z         "unit": {
2026-06-10T07:08:00.9864778Z           "complete": true,
2026-06-10T07:08:00.9865117Z           "evidence": [
2026-06-10T07:08:00.9865456Z             {
2026-06-10T07:08:00.9865871Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9872849Z               "line": 288
2026-06-10T07:08:00.9873183Z             },
2026-06-10T07:08:00.9873469Z             {
2026-06-10T07:08:00.9873865Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9874189Z               "line": 299
2026-06-10T07:08:00.9874466Z             },
2026-06-10T07:08:00.9874738Z             {
2026-06-10T07:08:00.9875141Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9875434Z               "line": 325
2026-06-10T07:08:00.9875735Z             },
2026-06-10T07:08:00.9876026Z             {
2026-06-10T07:08:00.9876408Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9876704Z               "line": 346
2026-06-10T07:08:00.9876975Z             }
2026-06-10T07:08:00.9877251Z           ]
2026-06-10T07:08:00.9877542Z         }
2026-06-10T07:08:00.9877822Z       }
2026-06-10T07:08:00.9878095Z     },
2026-06-10T07:08:00.9878371Z     {
2026-06-10T07:08:00.9878676Z       "id": "REQ-DAEMON-7",
2026-06-10T07:08:00.9882892Z       "title": "`daemon run` is foreground-consistent on every platform: the invoking process IS the daemon, blocks until signalled, never auto-detaches or respawns into an invisible background task. The detached/de-elevated background behavior lives ONLY in `start`. Windows: an ELEVATED `daemon run` refuses with guidance (use `start`, or an unelevated shell) instead of respawning detached/de-elevated and vanishing (KH 5.7 preserved — it still never serves elevated).",
2026-06-10T07:08:00.9883232Z       "requiredStages": [
2026-06-10T07:08:00.9883514Z         "impl",
2026-06-10T07:08:00.9883805Z         "unit"
2026-06-10T07:08:00.9884091Z       ],
2026-06-10T07:08:00.9884377Z       "stages": {
2026-06-10T07:08:00.9884663Z         "doc": {
2026-06-10T07:08:00.9884959Z           "complete": false,
2026-06-10T07:08:00.9885259Z           "evidence": []
2026-06-10T07:08:00.9885544Z         },
2026-06-10T07:08:00.9885818Z         "impl": {
2026-06-10T07:08:00.9886109Z           "complete": true,
2026-06-10T07:08:00.9886405Z           "evidence": [
2026-06-10T07:08:00.9886710Z             {
2026-06-10T07:08:00.9887096Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9887397Z               "line": 476
2026-06-10T07:08:00.9887691Z             },
2026-06-10T07:08:00.9887978Z             {
2026-06-10T07:08:00.9888372Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:00.9888664Z               "line": 601
2026-06-10T07:08:00.9889141Z             },
2026-06-10T07:08:00.9889431Z             {
2026-06-10T07:08:00.9889813Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9890105Z               "line": 89
2026-06-10T07:08:00.9890385Z             },
2026-06-10T07:08:00.9890679Z             {
2026-06-10T07:08:00.9891010Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9891455Z               "line": 1295
2026-06-10T07:08:00.9891727Z             }
2026-06-10T07:08:00.9892008Z           ]
2026-06-10T07:08:00.9892279Z         },
2026-06-10T07:08:00.9892570Z         "int": {
2026-06-10T07:08:00.9892866Z           "complete": false,
2026-06-10T07:08:00.9893156Z           "evidence": []
2026-06-10T07:08:00.9893442Z         },
2026-06-10T07:08:00.9893826Z         "unit": {
2026-06-10T07:08:00.9894150Z           "complete": true,
2026-06-10T07:08:00.9894441Z           "evidence": [
2026-06-10T07:08:00.9894727Z             {
2026-06-10T07:08:00.9895108Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9895399Z               "line": 314
2026-06-10T07:08:00.9895690Z             },
2026-06-10T07:08:00.9895967Z             {
2026-06-10T07:08:00.9896312Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9896608Z               "line": 5490
2026-06-10T07:08:00.9896889Z             }
2026-06-10T07:08:00.9897175Z           ]
2026-06-10T07:08:00.9897456Z         }
2026-06-10T07:08:00.9897742Z       }
2026-06-10T07:08:00.9898018Z     },
2026-06-10T07:08:00.9898300Z     {
2026-06-10T07:08:00.9898599Z       "id": "REQ-DAEMON-8",
2026-06-10T07:08:00.9901452Z       "title": "Internal auto-start prefers the service: `ensure_running` (any spt command's implicit daemon start, REQ-DAEMON-3) routes through the service-aware start path — when a manager has a registered service it starts THAT, never a competing manual `spawn_detached` daemon that would fight the service for the socket.",
2026-06-10T07:08:00.9901781Z       "requiredStages": [
2026-06-10T07:08:00.9902067Z         "impl",
2026-06-10T07:08:00.9902353Z         "unit"
2026-06-10T07:08:00.9902635Z       ],
2026-06-10T07:08:00.9902926Z       "stages": {
2026-06-10T07:08:00.9903212Z         "doc": {
2026-06-10T07:08:00.9903512Z           "complete": false,
2026-06-10T07:08:00.9903812Z           "evidence": []
2026-06-10T07:08:00.9904092Z         },
2026-06-10T07:08:00.9904395Z         "impl": {
2026-06-10T07:08:00.9904686Z           "complete": true,
2026-06-10T07:08:00.9904987Z           "evidence": [
2026-06-10T07:08:00.9905273Z             {
2026-06-10T07:08:00.9906026Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9906442Z               "line": 376
2026-06-10T07:08:00.9906740Z             },
2026-06-10T07:08:00.9907033Z             {
2026-06-10T07:08:00.9907439Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9907735Z               "line": 56
2026-06-10T07:08:00.9908026Z             }
2026-06-10T07:08:00.9908307Z           ]
2026-06-10T07:08:00.9908602Z         },
2026-06-10T07:08:00.9908888Z         "int": {
2026-06-10T07:08:00.9909271Z           "complete": false,
2026-06-10T07:08:00.9909583Z           "evidence": []
2026-06-10T07:08:00.9909859Z         },
2026-06-10T07:08:00.9910151Z         "unit": {
2026-06-10T07:08:00.9910442Z           "complete": true,
2026-06-10T07:08:00.9910737Z           "evidence": [
2026-06-10T07:08:00.9911071Z             {
2026-06-10T07:08:00.9911466Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9911752Z               "line": 288
2026-06-10T07:08:00.9912031Z             },
2026-06-10T07:08:00.9912314Z             {
2026-06-10T07:08:00.9912689Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-10T07:08:00.9912990Z               "line": 325
2026-06-10T07:08:00.9913266Z             }
2026-06-10T07:08:00.9913548Z           ]
2026-06-10T07:08:00.9913825Z         }
2026-06-10T07:08:00.9914102Z       }
2026-06-10T07:08:00.9914382Z     },
2026-06-10T07:08:00.9914653Z     {
2026-06-10T07:08:00.9914951Z       "id": "REQ-DAEMON-9",
2026-06-10T07:08:00.9925774Z       "title": "Net-bind boot-race resilience: a daemon that comes up net-less (NetHost::start failed — e.g. the systemd unit autostarted before the network/DNS stack was ready, `Failed to create an address lookup service`) must SELF-HEAL — retry the net bring-up in the background with capped backoff and, on success, attach net to the broker + spawn the dispatcher/peer-pump (which today are gated on `net_up` at boot and so never start, leaving the node silently unreachable until a manual restart — kitsubito 2026-06-08). Status surfaces the net-less state honestly (a net-less broker renders as 'no connection', not only a pump-STALLED line with a bogus pre-boot heartbeat age). The installer's autostart unit waits for the network (`Wants=/After=network-online.target`) as belt-and-suspenders.",
2026-06-10T07:08:00.9926413Z       "requiredStages": [
2026-06-10T07:08:00.9926751Z         "impl",
2026-06-10T07:08:00.9927036Z         "unit"
2026-06-10T07:08:00.9927309Z       ],
2026-06-10T07:08:00.9927596Z       "stages": {
2026-06-10T07:08:00.9927879Z         "doc": {
2026-06-10T07:08:00.9928187Z           "complete": false,
2026-06-10T07:08:00.9928473Z           "evidence": []
2026-06-10T07:08:00.9928750Z         },
2026-06-10T07:08:00.9929231Z         "impl": {
2026-06-10T07:08:00.9929589Z           "complete": true,
2026-06-10T07:08:00.9929880Z           "evidence": [
2026-06-10T07:08:00.9930144Z             {
2026-06-10T07:08:00.9930543Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:00.9930833Z               "line": 241
2026-06-10T07:08:00.9931105Z             },
2026-06-10T07:08:00.9931391Z             {
2026-06-10T07:08:00.9931768Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:00.9932054Z               "line": 306
2026-06-10T07:08:00.9932325Z             },
2026-06-10T07:08:00.9932606Z             {
2026-06-10T07:08:00.9932977Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9933270Z               "line": 190
2026-06-10T07:08:00.9933609Z             },
2026-06-10T07:08:00.9933885Z             {
2026-06-10T07:08:00.9934268Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9934562Z               "line": 275
2026-06-10T07:08:00.9934834Z             },
2026-06-10T07:08:00.9935111Z             {
2026-06-10T07:08:00.9935488Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9935782Z               "line": 312
2026-06-10T07:08:00.9936056Z             },
2026-06-10T07:08:00.9936339Z             {
2026-06-10T07:08:00.9936668Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9936968Z               "line": 1403
2026-06-10T07:08:00.9937353Z             }
2026-06-10T07:08:00.9937706Z           ]
2026-06-10T07:08:00.9937992Z         },
2026-06-10T07:08:00.9938278Z         "int": {
2026-06-10T07:08:00.9938576Z           "complete": false,
2026-06-10T07:08:00.9938886Z           "evidence": []
2026-06-10T07:08:00.9939248Z         },
2026-06-10T07:08:00.9939525Z         "unit": {
2026-06-10T07:08:00.9939825Z           "complete": true,
2026-06-10T07:08:00.9940120Z           "evidence": [
2026-06-10T07:08:00.9940394Z             {
2026-06-10T07:08:00.9940769Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:00.9941065Z               "line": 723
2026-06-10T07:08:00.9941350Z             },
2026-06-10T07:08:00.9941626Z             {
2026-06-10T07:08:00.9941966Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:00.9942265Z               "line": 7485
2026-06-10T07:08:00.9942551Z             }
2026-06-10T07:08:00.9942837Z           ]
2026-06-10T07:08:00.9943119Z         }
2026-06-10T07:08:00.9943400Z       }
2026-06-10T07:08:00.9943698Z     },
2026-06-10T07:08:00.9943974Z     {
2026-06-10T07:08:00.9944275Z       "id": "REQ-DOCS-1",
2026-06-10T07:08:00.9944895Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-10T07:08:00.9945214Z       "requiredStages": [
2026-06-10T07:08:00.9945496Z         "doc",
2026-06-10T07:08:00.9945792Z         "impl"
2026-06-10T07:08:00.9946068Z       ],
2026-06-10T07:08:00.9946352Z       "stages": {
2026-06-10T07:08:00.9946640Z         "doc": {
2026-06-10T07:08:00.9946941Z           "complete": true,
2026-06-10T07:08:00.9947237Z           "evidence": [
2026-06-10T07:08:00.9947651Z             {
2026-06-10T07:08:00.9947990Z               "path": "docs-site/src/index.md",
2026-06-10T07:08:00.9948276Z               "line": 50
2026-06-10T07:08:00.9948548Z             }
2026-06-10T07:08:00.9948824Z           ]
2026-06-10T07:08:00.9949159Z         },
2026-06-10T07:08:00.9949451Z         "impl": {
2026-06-10T07:08:00.9949746Z           "complete": true,
2026-06-10T07:08:00.9950132Z           "evidence": [
2026-06-10T07:08:00.9950409Z             {
2026-06-10T07:08:00.9950809Z               "path": ".github/workflows/docs-publish.yml",
2026-06-10T07:08:00.9951100Z               "line": 12
2026-06-10T07:08:00.9951381Z             },
2026-06-10T07:08:00.9951667Z             {
2026-06-10T07:08:00.9952015Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:00.9952311Z               "line": 14
2026-06-10T07:08:00.9952587Z             }
2026-06-10T07:08:00.9952869Z           ]
2026-06-10T07:08:00.9953150Z         },
2026-06-10T07:08:00.9953431Z         "int": {
2026-06-10T07:08:00.9953746Z           "complete": false,
2026-06-10T07:08:00.9954035Z           "evidence": []
2026-06-10T07:08:00.9954314Z         },
2026-06-10T07:08:00.9954596Z         "unit": {
2026-06-10T07:08:00.9954901Z           "complete": false,
2026-06-10T07:08:00.9955310Z           "evidence": []
2026-06-10T07:08:00.9955644Z         }
2026-06-10T07:08:00.9955959Z       }
2026-06-10T07:08:00.9956246Z     },
2026-06-10T07:08:00.9956526Z     {
2026-06-10T07:08:00.9956827Z       "id": "REQ-DOCS-2",
2026-06-10T07:08:00.9957334Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-10T07:08:00.9957640Z       "requiredStages": [
2026-06-10T07:08:00.9957920Z         "doc",
2026-06-10T07:08:00.9958206Z         "int"
2026-06-10T07:08:00.9958488Z       ],
2026-06-10T07:08:00.9958774Z       "stages": {
2026-06-10T07:08:00.9959146Z         "doc": {
2026-06-10T07:08:00.9959460Z           "complete": true,
2026-06-10T07:08:00.9959758Z           "evidence": [
2026-06-10T07:08:00.9960039Z             {
2026-06-10T07:08:00.9960444Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-10T07:08:00.9960730Z               "line": 3
2026-06-10T07:08:00.9961017Z             },
2026-06-10T07:08:00.9961293Z             {
2026-06-10T07:08:00.9961698Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-10T07:08:00.9962003Z               "line": 3
2026-06-10T07:08:00.9962284Z             }
2026-06-10T07:08:00.9962566Z           ]
2026-06-10T07:08:00.9962842Z         },
2026-06-10T07:08:00.9963119Z         "impl": {
2026-06-10T07:08:00.9963415Z           "complete": false,
2026-06-10T07:08:00.9963710Z           "evidence": []
2026-06-10T07:08:00.9963986Z         },
2026-06-10T07:08:00.9964258Z         "int": {
2026-06-10T07:08:00.9964567Z           "complete": true,
2026-06-10T07:08:00.9964860Z           "evidence": [
2026-06-10T07:08:00.9965137Z             {
2026-06-10T07:08:00.9965523Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-10T07:08:00.9966038Z               "line": 14
2026-06-10T07:08:00.9966329Z             }
2026-06-10T07:08:00.9966602Z           ]
2026-06-10T07:08:00.9966878Z         },
2026-06-10T07:08:00.9967154Z         "unit": {
2026-06-10T07:08:00.9967458Z           "complete": false,
2026-06-10T07:08:00.9967751Z           "evidence": []
2026-06-10T07:08:00.9968033Z         }
2026-06-10T07:08:00.9968319Z       }
2026-06-10T07:08:00.9968605Z     },
2026-06-10T07:08:00.9968887Z     {
2026-06-10T07:08:00.9969263Z       "id": "REQ-DOCS-3",
2026-06-10T07:08:00.9969808Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-10T07:08:00.9970115Z       "requiredStages": [
2026-06-10T07:08:00.9970403Z         "doc"
2026-06-10T07:08:00.9970685Z       ],
2026-06-10T07:08:00.9970975Z       "stages": {
2026-06-10T07:08:00.9971257Z         "doc": {
2026-06-10T07:08:00.9971563Z           "complete": true,
2026-06-10T07:08:00.9971858Z           "evidence": [
2026-06-10T07:08:00.9972140Z             {
2026-06-10T07:08:00.9972636Z               "path": "docs-site/src/index.md",
2026-06-10T07:08:00.9972929Z               "line": 42
2026-06-10T07:08:00.9973206Z             }
2026-06-10T07:08:00.9973488Z           ]
2026-06-10T07:08:00.9973770Z         },
2026-06-10T07:08:00.9974060Z         "impl": {
2026-06-10T07:08:00.9974361Z           "complete": false,
2026-06-10T07:08:00.9974666Z           "evidence": []
2026-06-10T07:08:00.9975070Z         },
2026-06-10T07:08:00.9975350Z         "int": {
2026-06-10T07:08:00.9975655Z           "complete": false,
2026-06-10T07:08:00.9975945Z           "evidence": []
2026-06-10T07:08:00.9976227Z         },
2026-06-10T07:08:00.9976508Z         "unit": {
2026-06-10T07:08:00.9976818Z           "complete": false,
2026-06-10T07:08:00.9977118Z           "evidence": []
2026-06-10T07:08:00.9977394Z         }
2026-06-10T07:08:00.9977695Z       }
2026-06-10T07:08:00.9977966Z     },
2026-06-10T07:08:00.9978245Z     {
2026-06-10T07:08:00.9978541Z       "id": "REQ-DOCS-4",
2026-06-10T07:08:00.9979237Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-10T07:08:00.9979551Z       "requiredStages": [
2026-06-10T07:08:00.9979828Z         "doc",
2026-06-10T07:08:00.9980119Z         "impl",
2026-06-10T07:08:00.9980396Z         "unit"
2026-06-10T07:08:00.9980670Z       ],
2026-06-10T07:08:00.9980954Z       "stages": {
2026-06-10T07:08:00.9981240Z         "doc": {
2026-06-10T07:08:00.9981540Z           "complete": true,
2026-06-10T07:08:00.9981841Z           "evidence": [
2026-06-10T07:08:00.9982128Z             {
2026-06-10T07:08:00.9982475Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-10T07:08:00.9982781Z               "line": 35
2026-06-10T07:08:00.9983061Z             }
2026-06-10T07:08:00.9983348Z           ]
2026-06-10T07:08:00.9983619Z         },
2026-06-10T07:08:00.9983910Z         "impl": {
2026-06-10T07:08:00.9984216Z           "complete": true,
2026-06-10T07:08:00.9984511Z           "evidence": [
2026-06-10T07:08:00.9984796Z             {
2026-06-10T07:08:00.9985198Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:00.9985499Z               "line": 522
2026-06-10T07:08:00.9985783Z             },
2026-06-10T07:08:00.9986061Z             {
2026-06-10T07:08:00.9986410Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:00.9986704Z               "line": 15
2026-06-10T07:08:00.9986986Z             }
2026-06-10T07:08:00.9987277Z           ]
2026-06-10T07:08:00.9987559Z         },
2026-06-10T07:08:00.9987840Z         "int": {
2026-06-10T07:08:00.9988150Z           "complete": false,
2026-06-10T07:08:00.9988446Z           "evidence": []
2026-06-10T07:08:00.9988731Z         },
2026-06-10T07:08:00.9989101Z         "unit": {
2026-06-10T07:08:00.9989406Z           "complete": true,
2026-06-10T07:08:00.9989706Z           "evidence": [
2026-06-10T07:08:00.9989988Z             {
2026-06-10T07:08:00.9990383Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:00.9990693Z               "line": 978
2026-06-10T07:08:00.9990980Z             }
2026-06-10T07:08:00.9991269Z           ]
2026-06-10T07:08:00.9991543Z         }
2026-06-10T07:08:00.9991829Z       }
2026-06-10T07:08:00.9992110Z     },
2026-06-10T07:08:00.9992368Z     {
2026-06-10T07:08:00.9992663Z       "id": "REQ-DOCS-5",
2026-06-10T07:08:00.9993264Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-10T07:08:00.9993575Z       "requiredStages": [
2026-06-10T07:08:00.9993847Z         "impl",
2026-06-10T07:08:00.9994136Z         "int"
2026-06-10T07:08:00.9994412Z       ],
2026-06-10T07:08:00.9994703Z       "stages": {
2026-06-10T07:08:00.9994994Z         "doc": {
2026-06-10T07:08:00.9995294Z           "complete": false,
2026-06-10T07:08:00.9995595Z           "evidence": []
2026-06-10T07:08:00.9995871Z         },
2026-06-10T07:08:00.9996158Z         "impl": {
2026-06-10T07:08:00.9996452Z           "complete": true,
2026-06-10T07:08:00.9996737Z           "evidence": [
2026-06-10T07:08:00.9997013Z             {
2026-06-10T07:08:00.9997537Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:00.9997832Z               "line": 523
2026-06-10T07:08:00.9998115Z             },
2026-06-10T07:08:00.9998400Z             {
2026-06-10T07:08:00.9998752Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:00.9999138Z               "line": 113
2026-06-10T07:08:00.9999427Z             }
2026-06-10T07:08:00.9999812Z           ]
2026-06-10T07:08:01.0000099Z         },
2026-06-10T07:08:01.0000380Z         "int": {
2026-06-10T07:08:01.0000686Z           "complete": true,
2026-06-10T07:08:01.0000976Z           "evidence": [
2026-06-10T07:08:01.0001263Z             {
2026-06-10T07:08:01.0001610Z               "path": ".github/workflows/ci.yml",
2026-06-10T07:08:01.0001899Z               "line": 86
2026-06-10T07:08:01.0002185Z             },
2026-06-10T07:08:01.0002461Z             {
2026-06-10T07:08:01.0002857Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.0003157Z               "line": 1015
2026-06-10T07:08:01.0003444Z             }
2026-06-10T07:08:01.0003721Z           ]
2026-06-10T07:08:01.0003992Z         },
2026-06-10T07:08:01.0004282Z         "unit": {
2026-06-10T07:08:01.0004581Z           "complete": false,
2026-06-10T07:08:01.0004877Z           "evidence": []
2026-06-10T07:08:01.0005159Z         }
2026-06-10T07:08:01.0005430Z       }
2026-06-10T07:08:01.0005707Z     },
2026-06-10T07:08:01.0005989Z     {
2026-06-10T07:08:01.0006290Z       "id": "REQ-DOCS-6",
2026-06-10T07:08:01.0007302Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-10T07:08:01.0007617Z       "requiredStages": [
2026-06-10T07:08:01.0007907Z         "impl",
2026-06-10T07:08:01.0008189Z         "unit",
2026-06-10T07:08:01.0008473Z         "int"
2026-06-10T07:08:01.0008745Z       ],
2026-06-10T07:08:01.0009157Z       "stages": {
2026-06-10T07:08:01.0009438Z         "doc": {
2026-06-10T07:08:01.0009736Z           "complete": true,
2026-06-10T07:08:01.0010048Z           "evidence": [
2026-06-10T07:08:01.0010330Z             {
2026-06-10T07:08:01.0010745Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-10T07:08:01.0011026Z               "line": 4
2026-06-10T07:08:01.0011312Z             }
2026-06-10T07:08:01.0011589Z           ]
2026-06-10T07:08:01.0011870Z         },
2026-06-10T07:08:01.0012170Z         "impl": {
2026-06-10T07:08:01.0012469Z           "complete": true,
2026-06-10T07:08:01.0012769Z           "evidence": [
2026-06-10T07:08:01.0013050Z             {
2026-06-10T07:08:01.0013388Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0013679Z               "line": 4004
2026-06-10T07:08:01.0013956Z             }
2026-06-10T07:08:01.0014247Z           ]
2026-06-10T07:08:01.0014522Z         },
2026-06-10T07:08:01.0014809Z         "int": {
2026-06-10T07:08:01.0015104Z           "complete": true,
2026-06-10T07:08:01.0015404Z           "evidence": [
2026-06-10T07:08:01.0015691Z             {
2026-06-10T07:08:01.0016071Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-10T07:08:01.0016353Z               "line": 34
2026-06-10T07:08:01.0016620Z             }
2026-06-10T07:08:01.0016902Z           ]
2026-06-10T07:08:01.0017188Z         },
2026-06-10T07:08:01.0017482Z         "unit": {
2026-06-10T07:08:01.0017795Z           "complete": true,
2026-06-10T07:08:01.0018090Z           "evidence": [
2026-06-10T07:08:01.0018366Z             {
2026-06-10T07:08:01.0018700Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0019078Z               "line": 7647
2026-06-10T07:08:01.0019358Z             }
2026-06-10T07:08:01.0019634Z           ]
2026-06-10T07:08:01.0019912Z         }
2026-06-10T07:08:01.0020197Z       }
2026-06-10T07:08:01.0020472Z     },
2026-06-10T07:08:01.0020757Z     {
2026-06-10T07:08:01.0021067Z       "id": "REQ-EP-1",
2026-06-10T07:08:01.0021472Z       "title": "Day-one endpoint types; open type system",
2026-06-10T07:08:01.0021782Z       "requiredStages": [
2026-06-10T07:08:01.0022177Z         "impl",
2026-06-10T07:08:01.0022459Z         "unit"
2026-06-10T07:08:01.0022740Z       ],
2026-06-10T07:08:01.0023029Z       "stages": {
2026-06-10T07:08:01.0023319Z         "doc": {
2026-06-10T07:08:01.0023624Z           "complete": false,
2026-06-10T07:08:01.0023930Z           "evidence": []
2026-06-10T07:08:01.0024216Z         },
2026-06-10T07:08:01.0024597Z         "impl": {
2026-06-10T07:08:01.0024907Z           "complete": true,
2026-06-10T07:08:01.0025208Z           "evidence": [
2026-06-10T07:08:01.0025490Z             {
2026-06-10T07:08:01.0025879Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-10T07:08:01.0026179Z               "line": 77
2026-06-10T07:08:01.0026461Z             },
2026-06-10T07:08:01.0026799Z             {
2026-06-10T07:08:01.0027185Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-10T07:08:01.0027486Z               "line": 94
2026-06-10T07:08:01.0027768Z             }
2026-06-10T07:08:01.0028056Z           ]
2026-06-10T07:08:01.0028345Z         },
2026-06-10T07:08:01.0028635Z         "int": {
2026-06-10T07:08:01.0029037Z           "complete": false,
2026-06-10T07:08:01.0029337Z           "evidence": []
2026-06-10T07:08:01.0029613Z         },
2026-06-10T07:08:01.0029899Z         "unit": {
2026-06-10T07:08:01.0030194Z           "complete": true,
2026-06-10T07:08:01.0030495Z           "evidence": [
2026-06-10T07:08:01.0030780Z             {
2026-06-10T07:08:01.0031164Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-10T07:08:01.0031455Z               "line": 161
2026-06-10T07:08:01.0031732Z             },
2026-06-10T07:08:01.0032014Z             {
2026-06-10T07:08:01.0032394Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-10T07:08:01.0032695Z               "line": 178
2026-06-10T07:08:01.0032971Z             }
2026-06-10T07:08:01.0033253Z           ]
2026-06-10T07:08:01.0033533Z         }
2026-06-10T07:08:01.0033822Z       }
2026-06-10T07:08:01.0034112Z     },
2026-06-10T07:08:01.0034398Z     {
2026-06-10T07:08:01.0034698Z       "id": "REQ-EP-2",
2026-06-10T07:08:01.0035209Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-10T07:08:01.0035524Z       "requiredStages": [
2026-06-10T07:08:01.0035810Z         "impl",
2026-06-10T07:08:01.0036088Z         "unit"
2026-06-10T07:08:01.0036377Z       ],
2026-06-10T07:08:01.0036662Z       "stages": {
2026-06-10T07:08:01.0036963Z         "doc": {
2026-06-10T07:08:01.0037263Z           "complete": false,
2026-06-10T07:08:01.0037563Z           "evidence": []
2026-06-10T07:08:01.0037845Z         },
2026-06-10T07:08:01.0038130Z         "impl": {
2026-06-10T07:08:01.0038436Z           "complete": true,
2026-06-10T07:08:01.0038725Z           "evidence": [
2026-06-10T07:08:01.0039077Z             {
2026-06-10T07:08:01.0039467Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-10T07:08:01.0039763Z               "line": 114
2026-06-10T07:08:01.0040040Z             },
2026-06-10T07:08:01.0040326Z             {
2026-06-10T07:08:01.0040722Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-10T07:08:01.0041017Z               "line": 131
2026-06-10T07:08:01.0041308Z             },
2026-06-10T07:08:01.0041587Z             {
2026-06-10T07:08:01.0041972Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-10T07:08:01.0042269Z               "line": 138
2026-06-10T07:08:01.0042545Z             }
2026-06-10T07:08:01.0042832Z           ]
2026-06-10T07:08:01.0043103Z         },
2026-06-10T07:08:01.0043385Z         "int": {
2026-06-10T07:08:01.0043690Z           "complete": false,
2026-06-10T07:08:01.0043987Z           "evidence": []
2026-06-10T07:08:01.0044257Z         },
2026-06-10T07:08:01.0044539Z         "unit": {
2026-06-10T07:08:01.0044835Z           "complete": true,
2026-06-10T07:08:01.0045131Z           "evidence": [
2026-06-10T07:08:01.0045464Z             {
2026-06-10T07:08:01.0045860Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-10T07:08:01.0046300Z               "line": 190
2026-06-10T07:08:01.0046586Z             },
2026-06-10T07:08:01.0046855Z             {
2026-06-10T07:08:01.0047232Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-10T07:08:01.0047518Z               "line": 208
2026-06-10T07:08:01.0047804Z             },
2026-06-10T07:08:01.0048066Z             {
2026-06-10T07:08:01.0048452Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-10T07:08:01.0048840Z               "line": 221
2026-06-10T07:08:01.0049191Z             }
2026-06-10T07:08:01.0049479Z           ]
2026-06-10T07:08:01.0049746Z         }
2026-06-10T07:08:01.0050027Z       }
2026-06-10T07:08:01.0050299Z     },
2026-06-10T07:08:01.0050581Z     {
2026-06-10T07:08:01.0050877Z       "id": "REQ-EP-3",
2026-06-10T07:08:01.0051459Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-10T07:08:01.0051769Z       "requiredStages": [
2026-06-10T07:08:01.0052053Z         "impl",
2026-06-10T07:08:01.0052342Z         "unit"
2026-06-10T07:08:01.0052632Z       ],
2026-06-10T07:08:01.0052923Z       "stages": {
2026-06-10T07:08:01.0053209Z         "doc": {
2026-06-10T07:08:01.0053515Z           "complete": false,
2026-06-10T07:08:01.0053810Z           "evidence": []
2026-06-10T07:08:01.0054091Z         },
2026-06-10T07:08:01.0054383Z         "impl": {
2026-06-10T07:08:01.0054686Z           "complete": true,
2026-06-10T07:08:01.0054990Z           "evidence": [
2026-06-10T07:08:01.0055277Z             {
2026-06-10T07:08:01.0055657Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-10T07:08:01.0055953Z               "line": 31
2026-06-10T07:08:01.0056235Z             },
2026-06-10T07:08:01.0056535Z             {
2026-06-10T07:08:01.0056917Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-10T07:08:01.0057213Z               "line": 49
2026-06-10T07:08:01.0057502Z             }
2026-06-10T07:08:01.0057783Z           ]
2026-06-10T07:08:01.0058068Z         },
2026-06-10T07:08:01.0058350Z         "int": {
2026-06-10T07:08:01.0058664Z           "complete": false,
2026-06-10T07:08:01.0059042Z           "evidence": []
2026-06-10T07:08:01.0059332Z         },
2026-06-10T07:08:01.0059617Z         "unit": {
2026-06-10T07:08:01.0059911Z           "complete": true,
2026-06-10T07:08:01.0060211Z           "evidence": [
2026-06-10T07:08:01.0060493Z             {
2026-06-10T07:08:01.0060878Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-10T07:08:01.0061184Z               "line": 156
2026-06-10T07:08:01.0061470Z             },
2026-06-10T07:08:01.0061756Z             {
2026-06-10T07:08:01.0062132Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-10T07:08:01.0062438Z               "line": 164
2026-06-10T07:08:01.0062721Z             },
2026-06-10T07:08:01.0062998Z             {
2026-06-10T07:08:01.0063370Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-10T07:08:01.0063665Z               "line": 177
2026-06-10T07:08:01.0063947Z             },
2026-06-10T07:08:01.0064228Z             {
2026-06-10T07:08:01.0064619Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-10T07:08:01.0064915Z               "line": 200
2026-06-10T07:08:01.0065189Z             },
2026-06-10T07:08:01.0065459Z             {
2026-06-10T07:08:01.0065846Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-10T07:08:01.0066428Z               "line": 216
2026-06-10T07:08:01.0066742Z             },
2026-06-10T07:08:01.0067018Z             {
2026-06-10T07:08:01.0067405Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-10T07:08:01.0067687Z               "line": 233
2026-06-10T07:08:01.0067961Z             }
2026-06-10T07:08:01.0068242Z           ]
2026-06-10T07:08:01.0068529Z         }
2026-06-10T07:08:01.0068811Z       }
2026-06-10T07:08:01.0069224Z     },
2026-06-10T07:08:01.0069506Z     {
2026-06-10T07:08:01.0069801Z       "id": "REQ-EP-4",
2026-06-10T07:08:01.0070263Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-10T07:08:01.0070580Z       "requiredStages": [
2026-06-10T07:08:01.0070996Z         "impl",
2026-06-10T07:08:01.0071278Z         "unit"
2026-06-10T07:08:01.0071564Z       ],
2026-06-10T07:08:01.0071849Z       "stages": {
2026-06-10T07:08:01.0072139Z         "doc": {
2026-06-10T07:08:01.0072435Z           "complete": false,
2026-06-10T07:08:01.0072736Z           "evidence": []
2026-06-10T07:08:01.0073016Z         },
2026-06-10T07:08:01.0073399Z         "impl": {
2026-06-10T07:08:01.0073705Z           "complete": true,
2026-06-10T07:08:01.0073996Z           "evidence": [
2026-06-10T07:08:01.0074278Z             {
2026-06-10T07:08:01.0074649Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.0074954Z               "line": 527
2026-06-10T07:08:01.0075245Z             },
2026-06-10T07:08:01.0075527Z             {
2026-06-10T07:08:01.0075891Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.0076173Z               "line": 841
2026-06-10T07:08:01.0076463Z             },
2026-06-10T07:08:01.0076749Z             {
2026-06-10T07:08:01.0077130Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.0077431Z               "line": 944
2026-06-10T07:08:01.0077708Z             },
2026-06-10T07:08:01.0077999Z             {
2026-06-10T07:08:01.0078352Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-10T07:08:01.0078646Z               "line": 83
2026-06-10T07:08:01.0078941Z             },
2026-06-10T07:08:01.0079309Z             {
2026-06-10T07:08:01.0079661Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-10T07:08:01.0079953Z               "line": 497
2026-06-10T07:08:01.0080230Z             },
2026-06-10T07:08:01.0080496Z             {
2026-06-10T07:08:01.0080857Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-10T07:08:01.0081145Z               "line": 583
2026-06-10T07:08:01.0081455Z             },
2026-06-10T07:08:01.0081741Z             {
2026-06-10T07:08:01.0082133Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:01.0082448Z               "line": 196
2026-06-10T07:08:01.0082724Z             },
2026-06-10T07:08:01.0083014Z             {
2026-06-10T07:08:01.0083392Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:01.0083691Z               "line": 337
2026-06-10T07:08:01.0083978Z             },
2026-06-10T07:08:01.0084317Z             {
2026-06-10T07:08:01.0084705Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:01.0085005Z               "line": 847
2026-06-10T07:08:01.0085291Z             }
2026-06-10T07:08:01.0085576Z           ]
2026-06-10T07:08:01.0085849Z         },
2026-06-10T07:08:01.0086138Z         "int": {
2026-06-10T07:08:01.0086441Z           "complete": false,
2026-06-10T07:08:01.0086742Z           "evidence": []
2026-06-10T07:08:01.0087018Z         },
2026-06-10T07:08:01.0087304Z         "unit": {
2026-06-10T07:08:01.0087605Z           "complete": true,
2026-06-10T07:08:01.0087906Z           "evidence": [
2026-06-10T07:08:01.0088197Z             {
2026-06-10T07:08:01.0088554Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-10T07:08:01.0088850Z               "line": 674
2026-06-10T07:08:01.0089249Z             },
2026-06-10T07:08:01.0089536Z             {
2026-06-10T07:08:01.0089941Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-10T07:08:01.0090284Z               "line": 76
2026-06-10T07:08:01.0090574Z             },
2026-06-10T07:08:01.0090865Z             {
2026-06-10T07:08:01.0091269Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-10T07:08:01.0091562Z               "line": 147
2026-06-10T07:08:01.0094830Z             }
2026-06-10T07:08:01.0095163Z           ]
2026-06-10T07:08:01.0095435Z         }
2026-06-10T07:08:01.0095717Z       }
2026-06-10T07:08:01.0096136Z     },
2026-06-10T07:08:01.0096471Z     {
2026-06-10T07:08:01.0096774Z       "id": "REQ-EP-5",
2026-06-10T07:08:01.0098885Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-10T07:08:01.0099463Z       "requiredStages": [
2026-06-10T07:08:01.0099756Z         "impl",
2026-06-10T07:08:01.0100033Z         "unit",
2026-06-10T07:08:01.0100319Z         "int"
2026-06-10T07:08:01.0100604Z       ],
2026-06-10T07:08:01.0100886Z       "stages": {
2026-06-10T07:08:01.0101263Z         "doc": {
2026-06-10T07:08:01.0101626Z           "complete": false,
2026-06-10T07:08:01.0101919Z           "evidence": []
2026-06-10T07:08:01.0102203Z         },
2026-06-10T07:08:01.0102489Z         "impl": {
2026-06-10T07:08:01.0102794Z           "complete": true,
2026-06-10T07:08:01.0103086Z           "evidence": [
2026-06-10T07:08:01.0103372Z             {
2026-06-10T07:08:01.0103791Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.0104087Z               "line": 351
2026-06-10T07:08:01.0104368Z             },
2026-06-10T07:08:01.0104654Z             {
2026-06-10T07:08:01.0105051Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-10T07:08:01.0105347Z               "line": 18
2026-06-10T07:08:01.0106029Z             },
2026-06-10T07:08:01.0106368Z             {
2026-06-10T07:08:01.0106760Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-10T07:08:01.0107055Z               "line": 63
2026-06-10T07:08:01.0107358Z             },
2026-06-10T07:08:01.0107641Z             {
2026-06-10T07:08:01.0108033Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-10T07:08:01.0108334Z               "line": 92
2026-06-10T07:08:01.0108619Z             },
2026-06-10T07:08:01.0108901Z             {
2026-06-10T07:08:01.0109388Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-10T07:08:01.0109708Z               "line": 167
2026-06-10T07:08:01.0109994Z             },
2026-06-10T07:08:01.0110273Z             {
2026-06-10T07:08:01.0110665Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-10T07:08:01.0110970Z               "line": 179
2026-06-10T07:08:01.0111256Z             },
2026-06-10T07:08:01.0111547Z             {
2026-06-10T07:08:01.0111929Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.0112229Z               "line": 114
2026-06-10T07:08:01.0112518Z             },
2026-06-10T07:08:01.0112796Z             {
2026-06-10T07:08:01.0113203Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.0113489Z               "line": 22
2026-06-10T07:08:01.0113780Z             },
2026-06-10T07:08:01.0114056Z             {
2026-06-10T07:08:01.0114443Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.0114739Z               "line": 129
2026-06-10T07:08:01.0115020Z             },
2026-06-10T07:08:01.0115304Z             {
2026-06-10T07:08:01.0115688Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.0115983Z               "line": 156
2026-06-10T07:08:01.0116265Z             },
2026-06-10T07:08:01.0116550Z             {
2026-06-10T07:08:01.0116937Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.0117228Z               "line": 178
2026-06-10T07:08:01.0117505Z             },
2026-06-10T07:08:01.0117776Z             {
2026-06-10T07:08:01.0118169Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.0118460Z               "line": 203
2026-06-10T07:08:01.0118746Z             },
2026-06-10T07:08:01.0119089Z             {
2026-06-10T07:08:01.0119475Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.0119771Z               "line": 229
2026-06-10T07:08:01.0120043Z             },
2026-06-10T07:08:01.0120324Z             {
2026-06-10T07:08:01.0120700Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.0120996Z               "line": 252
2026-06-10T07:08:01.0121277Z             },
2026-06-10T07:08:01.0121559Z             {
2026-06-10T07:08:01.0121944Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.0122378Z               "line": 81
2026-06-10T07:08:01.0122660Z             },
2026-06-10T07:08:01.0122940Z             {
2026-06-10T07:08:01.0123281Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0123577Z               "line": 4309
2026-06-10T07:08:01.0123858Z             },
2026-06-10T07:08:01.0124144Z             {
2026-06-10T07:08:01.0124573Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0124869Z               "line": 4432
2026-06-10T07:08:01.0125149Z             },
2026-06-10T07:08:01.0125427Z             {
2026-06-10T07:08:01.0125765Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0126054Z               "line": 4593
2026-06-10T07:08:01.0126340Z             },
2026-06-10T07:08:01.0126616Z             {
2026-06-10T07:08:01.0126955Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0127250Z               "line": 4975
2026-06-10T07:08:01.0127536Z             }
2026-06-10T07:08:01.0127822Z           ]
2026-06-10T07:08:01.0128098Z         },
2026-06-10T07:08:01.0128388Z         "int": {
2026-06-10T07:08:01.0128686Z           "complete": true,
2026-06-10T07:08:01.0129063Z           "evidence": [
2026-06-10T07:08:01.0129348Z             {
2026-06-10T07:08:01.0129754Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-10T07:08:01.0130045Z               "line": 16
2026-06-10T07:08:01.0130336Z             },
2026-06-10T07:08:01.0130617Z             {
2026-06-10T07:08:01.0130970Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-10T07:08:01.0131265Z               "line": 15
2026-06-10T07:08:01.0131551Z             }
2026-06-10T07:08:01.0131828Z           ]
2026-06-10T07:08:01.0132105Z         },
2026-06-10T07:08:01.0132377Z         "unit": {
2026-06-10T07:08:01.0132682Z           "complete": true,
2026-06-10T07:08:01.0132968Z           "evidence": [
2026-06-10T07:08:01.0133258Z             {
2026-06-10T07:08:01.0133643Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-10T07:08:01.0133956Z               "line": 246
2026-06-10T07:08:01.0134237Z             },
2026-06-10T07:08:01.0134517Z             {
2026-06-10T07:08:01.0134910Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-10T07:08:01.0135200Z               "line": 306
2026-06-10T07:08:01.0135486Z             },
2026-06-10T07:08:01.0135763Z             {
2026-06-10T07:08:01.0136159Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-10T07:08:01.0136453Z               "line": 362
2026-06-10T07:08:01.0136731Z             },
2026-06-10T07:08:01.0137014Z             {
2026-06-10T07:08:01.0137394Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.0137690Z               "line": 268
2026-06-10T07:08:01.0137972Z             },
2026-06-10T07:08:01.0138253Z             {
2026-06-10T07:08:01.0138635Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.0138925Z               "line": 291
2026-06-10T07:08:01.0139303Z             },
2026-06-10T07:08:01.0139585Z             {
2026-06-10T07:08:01.0139961Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.0140257Z               "line": 491
2026-06-10T07:08:01.0140538Z             },
2026-06-10T07:08:01.0140820Z             {
2026-06-10T07:08:01.0141153Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0141448Z               "line": 5784
2026-06-10T07:08:01.0141736Z             },
2026-06-10T07:08:01.0142016Z             {
2026-06-10T07:08:01.0142350Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0142641Z               "line": 5908
2026-06-10T07:08:01.0142922Z             },
2026-06-10T07:08:01.0143193Z             {
2026-06-10T07:08:01.0143523Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0143808Z               "line": 6495
2026-06-10T07:08:01.0144089Z             },
2026-06-10T07:08:01.0144368Z             {
2026-06-10T07:08:01.0144702Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0145116Z               "line": 6560
2026-06-10T07:08:01.0145397Z             }
2026-06-10T07:08:01.0145679Z           ]
2026-06-10T07:08:01.0145951Z         }
2026-06-10T07:08:01.0146237Z       }
2026-06-10T07:08:01.0146519Z     },
2026-06-10T07:08:01.0146796Z     {
2026-06-10T07:08:01.0147099Z       "id": "REQ-FRONT-1",
2026-06-10T07:08:01.0147649Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-10T07:08:01.0148080Z       "requiredStages": [],
2026-06-10T07:08:01.0148366Z       "stages": {
2026-06-10T07:08:01.0148646Z         "doc": {
2026-06-10T07:08:01.0149024Z           "complete": false,
2026-06-10T07:08:01.0149320Z           "evidence": []
2026-06-10T07:08:01.0149603Z         },
2026-06-10T07:08:01.0149882Z         "impl": {
2026-06-10T07:08:01.0150183Z           "complete": false,
2026-06-10T07:08:01.0150483Z           "evidence": []
2026-06-10T07:08:01.0150770Z         },
2026-06-10T07:08:01.0151051Z         "int": {
2026-06-10T07:08:01.0151346Z           "complete": false,
2026-06-10T07:08:01.0151652Z           "evidence": []
2026-06-10T07:08:01.0151935Z         },
2026-06-10T07:08:01.0152220Z         "unit": {
2026-06-10T07:08:01.0152528Z           "complete": false,
2026-06-10T07:08:01.0152829Z           "evidence": []
2026-06-10T07:08:01.0153109Z         }
2026-06-10T07:08:01.0153386Z       }
2026-06-10T07:08:01.0153658Z     },
2026-06-10T07:08:01.0153944Z     {
2026-06-10T07:08:01.0154325Z       "id": "REQ-HAZARD-BROKER-PROCESS-ISOLATION",
2026-06-10T07:08:01.0161611Z       "title": "Broker and brain are separate processes: the broker runs as its own long-lived per-machine process that survives every brain restart, so a routine (brain-only) self-update restarts the brain onto the swapped binary while every hosted endpoint (PTY child, live QUIC conn, listening socket) stays untouched at the PROCESS level. The in-process-thread broker (daemon.rs:165-170) is a regression that silently unrealizes REQ-UPD-3 — apply degrades to an in-process Brain::handoff no-op and new code does not run until an unrelated restart (KNOWN-HAZARDS 6.7). Evidence must prove process-level survival (SPIKE-01/03 productionized as int: PTY child + live QUIC survive a brain-PROCESS restart onto a swapped binary), re-pointing the regression-masked in-process int tags currently on REQ-DAEMON-2 / REQ-UPD-3 (ADR-0018).",
2026-06-10T07:08:01.0161945Z       "requiredStages": [
2026-06-10T07:08:01.0162240Z         "doc",
2026-06-10T07:08:01.0162532Z         "impl",
2026-06-10T07:08:01.0162800Z         "unit"
2026-06-10T07:08:01.0163069Z       ],
2026-06-10T07:08:01.0163345Z       "stages": {
2026-06-10T07:08:01.0163627Z         "doc": {
2026-06-10T07:08:01.0163922Z           "complete": true,
2026-06-10T07:08:01.0164213Z           "evidence": [
2026-06-10T07:08:01.0164499Z             {
2026-06-10T07:08:01.0164838Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.0165133Z               "line": 288
2026-06-10T07:08:01.0165441Z             }
2026-06-10T07:08:01.0165718Z           ]
2026-06-10T07:08:01.0166004Z         },
2026-06-10T07:08:01.0166280Z         "impl": {
2026-06-10T07:08:01.0166590Z           "complete": true,
2026-06-10T07:08:01.0166875Z           "evidence": [
2026-06-10T07:08:01.0167157Z             {
2026-06-10T07:08:01.0167525Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.0167815Z               "line": 583
2026-06-10T07:08:01.0168123Z             },
2026-06-10T07:08:01.0168398Z             {
2026-06-10T07:08:01.0168779Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.0169152Z               "line": 787
2026-06-10T07:08:01.0169438Z             },
2026-06-10T07:08:01.0169714Z             {
2026-06-10T07:08:01.0170106Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0170392Z               "line": 23
2026-06-10T07:08:01.0170667Z             },
2026-06-10T07:08:01.0170936Z             {
2026-06-10T07:08:01.0171331Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0171767Z               "line": 101
2026-06-10T07:08:01.0172048Z             },
2026-06-10T07:08:01.0172333Z             {
2026-06-10T07:08:01.0172763Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0173055Z               "line": 146
2026-06-10T07:08:01.0173340Z             },
2026-06-10T07:08:01.0173620Z             {
2026-06-10T07:08:01.0174017Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0174412Z               "line": 194
2026-06-10T07:08:01.0174697Z             },
2026-06-10T07:08:01.0174984Z             {
2026-06-10T07:08:01.0175374Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0175675Z               "line": 226
2026-06-10T07:08:01.0175955Z             },
2026-06-10T07:08:01.0176239Z             {
2026-06-10T07:08:01.0176635Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0176926Z               "line": 240
2026-06-10T07:08:01.0177212Z             },
2026-06-10T07:08:01.0177494Z             {
2026-06-10T07:08:01.0177898Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0178190Z               "line": 300
2026-06-10T07:08:01.0178477Z             },
2026-06-10T07:08:01.0178765Z             {
2026-06-10T07:08:01.0179244Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0179545Z               "line": 413
2026-06-10T07:08:01.0179836Z             },
2026-06-10T07:08:01.0180127Z             {
2026-06-10T07:08:01.0180498Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.0180794Z               "line": 111
2026-06-10T07:08:01.0181076Z             },
2026-06-10T07:08:01.0181351Z             {
2026-06-10T07:08:01.0181735Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.0182026Z               "line": 296
2026-06-10T07:08:01.0182312Z             },
2026-06-10T07:08:01.0182589Z             {
2026-06-10T07:08:01.0182975Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.0183276Z               "line": 690
2026-06-10T07:08:01.0183543Z             },
2026-06-10T07:08:01.0183824Z             {
2026-06-10T07:08:01.0184189Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.0184475Z               "line": 181
2026-06-10T07:08:01.0184751Z             },
2026-06-10T07:08:01.0185028Z             {
2026-06-10T07:08:01.0185410Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.0185696Z               "line": 223
2026-06-10T07:08:01.0185977Z             },
2026-06-10T07:08:01.0186240Z             {
2026-06-10T07:08:01.0186613Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.0186989Z               "line": 234
2026-06-10T07:08:01.0187261Z             },
2026-06-10T07:08:01.0187548Z             {
2026-06-10T07:08:01.0187924Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.0188220Z               "line": 260
2026-06-10T07:08:01.0188482Z             },
2026-06-10T07:08:01.0188759Z             {
2026-06-10T07:08:01.0189216Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-10T07:08:01.0189509Z               "line": 63
2026-06-10T07:08:01.0189799Z             },
2026-06-10T07:08:01.0190072Z             {
2026-06-10T07:08:01.0190411Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0190696Z               "line": 1334
2026-06-10T07:08:01.0190987Z             }
2026-06-10T07:08:01.0191260Z           ]
2026-06-10T07:08:01.0191536Z         },
2026-06-10T07:08:01.0191815Z         "int": {
2026-06-10T07:08:01.0192103Z           "complete": false,
2026-06-10T07:08:01.0192404Z           "evidence": []
2026-06-10T07:08:01.0192686Z         },
2026-06-10T07:08:01.0192967Z         "unit": {
2026-06-10T07:08:01.0193268Z           "complete": true,
2026-06-10T07:08:01.0193563Z           "evidence": [
2026-06-10T07:08:01.0193850Z             {
2026-06-10T07:08:01.0194240Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.0194654Z               "line": 486
2026-06-10T07:08:01.0194936Z             },
2026-06-10T07:08:01.0195222Z             {
2026-06-10T07:08:01.0195612Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0195904Z               "line": 463
2026-06-10T07:08:01.0196199Z             },
2026-06-10T07:08:01.0196471Z             {
2026-06-10T07:08:01.0196927Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0197507Z               "line": 490
2026-06-10T07:08:01.0197784Z             },
2026-06-10T07:08:01.0198055Z             {
2026-06-10T07:08:01.0198456Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0198747Z               "line": 525
2026-06-10T07:08:01.0199114Z             },
2026-06-10T07:08:01.0199399Z             {
2026-06-10T07:08:01.0199794Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0200097Z               "line": 590
2026-06-10T07:08:01.0200379Z             },
2026-06-10T07:08:01.0200674Z             {
2026-06-10T07:08:01.0201065Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0201361Z               "line": 603
2026-06-10T07:08:01.0201647Z             },
2026-06-10T07:08:01.0201919Z             {
2026-06-10T07:08:01.0202328Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.0202645Z               "line": 1003
2026-06-10T07:08:01.0202941Z             },
2026-06-10T07:08:01.0203223Z             {
2026-06-10T07:08:01.0203603Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-10T07:08:01.0203890Z               "line": 142
2026-06-10T07:08:01.0204161Z             },
2026-06-10T07:08:01.0204448Z             {
2026-06-10T07:08:01.0204824Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-10T07:08:01.0205110Z               "line": 221
2026-06-10T07:08:01.0205392Z             },
2026-06-10T07:08:01.0205857Z             {
2026-06-10T07:08:01.0206283Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-10T07:08:01.0206612Z               "line": 319
2026-06-10T07:08:01.0206903Z             },
2026-06-10T07:08:01.0207193Z             {
2026-06-10T07:08:01.0207587Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-10T07:08:01.0207877Z               "line": 17
2026-06-10T07:08:01.0208152Z             },
2026-06-10T07:08:01.0208443Z             {
2026-06-10T07:08:01.0208831Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-10T07:08:01.0209217Z               "line": 88
2026-06-10T07:08:01.0209503Z             }
2026-06-10T07:08:01.0209785Z           ]
2026-06-10T07:08:01.0210075Z         }
2026-06-10T07:08:01.0210350Z       }
2026-06-10T07:08:01.0210629Z     },
2026-06-10T07:08:01.0210906Z     {
2026-06-10T07:08:01.0211267Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-10T07:08:01.0211816Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-10T07:08:01.0212122Z       "requiredStages": [
2026-06-10T07:08:01.0212423Z         "impl",
2026-06-10T07:08:01.0212714Z         "unit"
2026-06-10T07:08:01.0212997Z       ],
2026-06-10T07:08:01.0213281Z       "stages": {
2026-06-10T07:08:01.0213567Z         "doc": {
2026-06-10T07:08:01.0213877Z           "complete": false,
2026-06-10T07:08:01.0214173Z           "evidence": []
2026-06-10T07:08:01.0214455Z         },
2026-06-10T07:08:01.0214741Z         "impl": {
2026-06-10T07:08:01.0215055Z           "complete": true,
2026-06-10T07:08:01.0215346Z           "evidence": [
2026-06-10T07:08:01.0215624Z             {
2026-06-10T07:08:01.0216041Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.0216318Z               "line": 149
2026-06-10T07:08:01.0216609Z             },
2026-06-10T07:08:01.0216881Z             {
2026-06-10T07:08:01.0217267Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:01.0217558Z               "line": 18
2026-06-10T07:08:01.0217850Z             },
2026-06-10T07:08:01.0232159Z             {
2026-06-10T07:08:01.0232755Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:01.0233055Z               "line": 98
2026-06-10T07:08:01.0233337Z             }
2026-06-10T07:08:01.0233627Z           ]
2026-06-10T07:08:01.0233910Z         },
2026-06-10T07:08:01.0234185Z         "int": {
2026-06-10T07:08:01.0234493Z           "complete": false,
2026-06-10T07:08:01.0234794Z           "evidence": []
2026-06-10T07:08:01.0235536Z         },
2026-06-10T07:08:01.0235823Z         "unit": {
2026-06-10T07:08:01.0236128Z           "complete": true,
2026-06-10T07:08:01.0236425Z           "evidence": [
2026-06-10T07:08:01.0236716Z             {
2026-06-10T07:08:01.0237119Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.0237415Z               "line": 565
2026-06-10T07:08:01.0237696Z             },
2026-06-10T07:08:01.0237963Z             {
2026-06-10T07:08:01.0238321Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:01.0238617Z               "line": 159
2026-06-10T07:08:01.0238917Z             },
2026-06-10T07:08:01.0239306Z             {
2026-06-10T07:08:01.0239672Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:01.0239968Z               "line": 231
2026-06-10T07:08:01.0240249Z             }
2026-06-10T07:08:01.0240526Z           ]
2026-06-10T07:08:01.0240806Z         }
2026-06-10T07:08:01.0241082Z       }
2026-06-10T07:08:01.0241359Z     },
2026-06-10T07:08:01.0241640Z     {
2026-06-10T07:08:01.0242006Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-10T07:08:01.0243412Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-10T07:08:01.0243727Z       "requiredStages": [
2026-06-10T07:08:01.0244017Z         "impl",
2026-06-10T07:08:01.0244298Z         "unit"
2026-06-10T07:08:01.0244634Z       ],
2026-06-10T07:08:01.0244909Z       "stages": {
2026-06-10T07:08:01.0245200Z         "doc": {
2026-06-10T07:08:01.0245496Z           "complete": true,
2026-06-10T07:08:01.0245802Z           "evidence": [
2026-06-10T07:08:01.0246087Z             {
2026-06-10T07:08:01.0246431Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.0246735Z               "line": 220
2026-06-10T07:08:01.0247017Z             }
2026-06-10T07:08:01.0247309Z           ]
2026-06-10T07:08:01.0247588Z         },
2026-06-10T07:08:01.0247874Z         "impl": {
2026-06-10T07:08:01.0248189Z           "complete": true,
2026-06-10T07:08:01.0248480Z           "evidence": [
2026-06-10T07:08:01.0248756Z             {
2026-06-10T07:08:01.0249220Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.0249544Z               "line": 302
2026-06-10T07:08:01.0249828Z             },
2026-06-10T07:08:01.0250107Z             {
2026-06-10T07:08:01.0250489Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.0250776Z               "line": 257
2026-06-10T07:08:01.0251061Z             },
2026-06-10T07:08:01.0251332Z             {
2026-06-10T07:08:01.0251725Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.0252015Z               "line": 405
2026-06-10T07:08:01.0252301Z             },
2026-06-10T07:08:01.0252585Z             {
2026-06-10T07:08:01.0252955Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-10T07:08:01.0253250Z               "line": 77
2026-06-10T07:08:01.0253532Z             }
2026-06-10T07:08:01.0253818Z           ]
2026-06-10T07:08:01.0254104Z         },
2026-06-10T07:08:01.0254391Z         "int": {
2026-06-10T07:08:01.0254696Z           "complete": false,
2026-06-10T07:08:01.0254978Z           "evidence": []
2026-06-10T07:08:01.0255253Z         },
2026-06-10T07:08:01.0255541Z         "unit": {
2026-06-10T07:08:01.0255846Z           "complete": true,
2026-06-10T07:08:01.0256137Z           "evidence": [
2026-06-10T07:08:01.0256418Z             {
2026-06-10T07:08:01.0256809Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.0257100Z               "line": 478
2026-06-10T07:08:01.0257516Z             },
2026-06-10T07:08:01.0257793Z             {
2026-06-10T07:08:01.0258178Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.0258473Z               "line": 516
2026-06-10T07:08:01.0258750Z             },
2026-06-10T07:08:01.0259117Z             {
2026-06-10T07:08:01.0259493Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-10T07:08:01.0259903Z               "line": 166
2026-06-10T07:08:01.0260179Z             }
2026-06-10T07:08:01.0260463Z           ]
2026-06-10T07:08:01.0260739Z         }
2026-06-10T07:08:01.0261001Z       }
2026-06-10T07:08:01.0261287Z     },
2026-06-10T07:08:01.0261563Z     {
2026-06-10T07:08:01.0261950Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-10T07:08:01.0263711Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-10T07:08:01.0264040Z       "requiredStages": [
2026-06-10T07:08:01.0264331Z         "impl",
2026-06-10T07:08:01.0264603Z         "unit"
2026-06-10T07:08:01.0264889Z       ],
2026-06-10T07:08:01.0265167Z       "stages": {
2026-06-10T07:08:01.0265452Z         "doc": {
2026-06-10T07:08:01.0265750Z           "complete": false,
2026-06-10T07:08:01.0266048Z           "evidence": []
2026-06-10T07:08:01.0266344Z         },
2026-06-10T07:08:01.0266621Z         "impl": {
2026-06-10T07:08:01.0266927Z           "complete": true,
2026-06-10T07:08:01.0267221Z           "evidence": [
2026-06-10T07:08:01.0267508Z             {
2026-06-10T07:08:01.0267899Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-10T07:08:01.0268198Z               "line": 22
2026-06-10T07:08:01.0268485Z             },
2026-06-10T07:08:01.0268761Z             {
2026-06-10T07:08:01.0269223Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.0269514Z               "line": 479
2026-06-10T07:08:01.0269838Z             },
2026-06-10T07:08:01.0270120Z             {
2026-06-10T07:08:01.0270486Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-10T07:08:01.0270791Z               "line": 17
2026-06-10T07:08:01.0271065Z             },
2026-06-10T07:08:01.0271353Z             {
2026-06-10T07:08:01.0271737Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-10T07:08:01.0272043Z               "line": 140
2026-06-10T07:08:01.0272320Z             },
2026-06-10T07:08:01.0272601Z             {
2026-06-10T07:08:01.0273006Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.0273301Z               "line": 194
2026-06-10T07:08:01.0273592Z             },
2026-06-10T07:08:01.0273863Z             {
2026-06-10T07:08:01.0274276Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.0274567Z               "line": 219
2026-06-10T07:08:01.0274843Z             },
2026-06-10T07:08:01.0275120Z             {
2026-06-10T07:08:01.0275525Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.0275821Z               "line": 245
2026-06-10T07:08:01.0276093Z             },
2026-06-10T07:08:01.0276363Z             {
2026-06-10T07:08:01.0276743Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.0277024Z               "line": 124
2026-06-10T07:08:01.0277300Z             },
2026-06-10T07:08:01.0277576Z             {
2026-06-10T07:08:01.0277959Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.0278235Z               "line": 224
2026-06-10T07:08:01.0278506Z             }
2026-06-10T07:08:01.0278783Z           ]
2026-06-10T07:08:01.0279120Z         },
2026-06-10T07:08:01.0279402Z         "int": {
2026-06-10T07:08:01.0279689Z           "complete": false,
2026-06-10T07:08:01.0279979Z           "evidence": []
2026-06-10T07:08:01.0280256Z         },
2026-06-10T07:08:01.0280537Z         "unit": {
2026-06-10T07:08:01.0280834Z           "complete": true,
2026-06-10T07:08:01.0281258Z           "evidence": [
2026-06-10T07:08:01.0281547Z             {
2026-06-10T07:08:01.0281936Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-10T07:08:01.0282222Z               "line": 62
2026-06-10T07:08:01.0282499Z             },
2026-06-10T07:08:01.0282775Z             {
2026-06-10T07:08:01.0283166Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-10T07:08:01.0283546Z               "line": 72
2026-06-10T07:08:01.0283824Z             },
2026-06-10T07:08:01.0284097Z             {
2026-06-10T07:08:01.0284484Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-10T07:08:01.0284775Z               "line": 84
2026-06-10T07:08:01.0285323Z             },
2026-06-10T07:08:01.0285695Z             {
2026-06-10T07:08:01.0286075Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-10T07:08:01.0286376Z               "line": 346
2026-06-10T07:08:01.0286667Z             },
2026-06-10T07:08:01.0286947Z             {
2026-06-10T07:08:01.0287341Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-10T07:08:01.0287627Z               "line": 274
2026-06-10T07:08:01.0287913Z             },
2026-06-10T07:08:01.0288166Z             {
2026-06-10T07:08:01.0288548Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-10T07:08:01.0288839Z               "line": 315
2026-06-10T07:08:01.0289216Z             },
2026-06-10T07:08:01.0289507Z             {
2026-06-10T07:08:01.0289891Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-10T07:08:01.0290187Z               "line": 353
2026-06-10T07:08:01.0290454Z             },
2026-06-10T07:08:01.0290749Z             {
2026-06-10T07:08:01.0291150Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.0291451Z               "line": 656
2026-06-10T07:08:01.0291728Z             },
2026-06-10T07:08:01.0292016Z             {
2026-06-10T07:08:01.0292395Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.0292686Z               "line": 397
2026-06-10T07:08:01.0292977Z             },
2026-06-10T07:08:01.0293258Z             {
2026-06-10T07:08:01.0293650Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.0293951Z               "line": 440
2026-06-10T07:08:01.0294236Z             }
2026-06-10T07:08:01.0294522Z           ]
2026-06-10T07:08:01.0294798Z         }
2026-06-10T07:08:01.0295086Z       }
2026-06-10T07:08:01.0295486Z     },
2026-06-10T07:08:01.0295806Z     {
2026-06-10T07:08:01.0296169Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-10T07:08:01.0296871Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-10T07:08:01.0297200Z       "requiredStages": [
2026-06-10T07:08:01.0297483Z         "impl",
2026-06-10T07:08:01.0297772Z         "unit"
2026-06-10T07:08:01.0298048Z       ],
2026-06-10T07:08:01.0298334Z       "stages": {
2026-06-10T07:08:01.0298625Z         "doc": {
2026-06-10T07:08:01.0298931Z           "complete": false,
2026-06-10T07:08:01.0299307Z           "evidence": []
2026-06-10T07:08:01.0299589Z         },
2026-06-10T07:08:01.0299879Z         "impl": {
2026-06-10T07:08:01.0300175Z           "complete": true,
2026-06-10T07:08:01.0300466Z           "evidence": [
2026-06-10T07:08:01.0300742Z             {
2026-06-10T07:08:01.0301118Z               "path": "crates/spt-term/src/reader.rs",
2026-06-10T07:08:01.0301414Z               "line": 169
2026-06-10T07:08:01.0301696Z             }
2026-06-10T07:08:01.0301964Z           ]
2026-06-10T07:08:01.0302234Z         },
2026-06-10T07:08:01.0302519Z         "int": {
2026-06-10T07:08:01.0302812Z           "complete": true,
2026-06-10T07:08:01.0303099Z           "evidence": [
2026-06-10T07:08:01.0303385Z             {
2026-06-10T07:08:01.0303747Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-10T07:08:01.0304048Z               "line": 44
2026-06-10T07:08:01.0304328Z             },
2026-06-10T07:08:01.0304620Z             {
2026-06-10T07:08:01.0304986Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-10T07:08:01.0305410Z               "line": 66
2026-06-10T07:08:01.0305693Z             }
2026-06-10T07:08:01.0305966Z           ]
2026-06-10T07:08:01.0306248Z         },
2026-06-10T07:08:01.0306528Z         "unit": {
2026-06-10T07:08:01.0306829Z           "complete": true,
2026-06-10T07:08:01.0307126Z           "evidence": [
2026-06-10T07:08:01.0307402Z             {
2026-06-10T07:08:01.0307877Z               "path": "crates/spt-term/src/reader.rs",
2026-06-10T07:08:01.0308170Z               "line": 186
2026-06-10T07:08:01.0308452Z             },
2026-06-10T07:08:01.0308724Z             {
2026-06-10T07:08:01.0309214Z               "path": "crates/spt-term/src/reader.rs",
2026-06-10T07:08:01.0309514Z               "line": 238
2026-06-10T07:08:01.0309787Z             },
2026-06-10T07:08:01.0310063Z             {
2026-06-10T07:08:01.0310430Z               "path": "crates/spt-term/src/reader.rs",
2026-06-10T07:08:01.0310725Z               "line": 266
2026-06-10T07:08:01.0311002Z             }
2026-06-10T07:08:01.0311293Z           ]
2026-06-10T07:08:01.0311575Z         }
2026-06-10T07:08:01.0311841Z       }
2026-06-10T07:08:01.0312121Z     },
2026-06-10T07:08:01.0312394Z     {
2026-06-10T07:08:01.0312765Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-10T07:08:01.0314083Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-10T07:08:01.0314398Z       "requiredStages": [
2026-06-10T07:08:01.0314678Z         "impl",
2026-06-10T07:08:01.0314951Z         "unit",
2026-06-10T07:08:01.0315236Z         "int"
2026-06-10T07:08:01.0315537Z       ],
2026-06-10T07:08:01.0315819Z       "stages": {
2026-06-10T07:08:01.0316099Z         "doc": {
2026-06-10T07:08:01.0316440Z           "complete": false,
2026-06-10T07:08:01.0316755Z           "evidence": []
2026-06-10T07:08:01.0317037Z         },
2026-06-10T07:08:01.0317323Z         "impl": {
2026-06-10T07:08:01.0317618Z           "complete": true,
2026-06-10T07:08:01.0317913Z           "evidence": [
2026-06-10T07:08:01.0318190Z             {
2026-06-10T07:08:01.0318594Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.0318892Z               "line": 150
2026-06-10T07:08:01.0319250Z             },
2026-06-10T07:08:01.0319536Z             {
2026-06-10T07:08:01.0319923Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.0320219Z               "line": 174
2026-06-10T07:08:01.0320495Z             },
2026-06-10T07:08:01.0320771Z             {
2026-06-10T07:08:01.0321163Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.0321452Z               "line": 79
2026-06-10T07:08:01.0321742Z             },
2026-06-10T07:08:01.0325077Z             {
2026-06-10T07:08:01.0325483Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-10T07:08:01.0325773Z               "line": 51
2026-06-10T07:08:01.0326064Z             },
2026-06-10T07:08:01.0326347Z             {
2026-06-10T07:08:01.0326734Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.0327034Z               "line": 154
2026-06-10T07:08:01.0327311Z             },
2026-06-10T07:08:01.0327592Z             {
2026-06-10T07:08:01.0327978Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-10T07:08:01.0328279Z               "line": 27
2026-06-10T07:08:01.0328560Z             },
2026-06-10T07:08:01.0328851Z             {
2026-06-10T07:08:01.0329380Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-10T07:08:01.0329667Z               "line": 79
2026-06-10T07:08:01.0329944Z             },
2026-06-10T07:08:01.0330225Z             {
2026-06-10T07:08:01.0330616Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-10T07:08:01.0330912Z               "line": 102
2026-06-10T07:08:01.0331192Z             },
2026-06-10T07:08:01.0331480Z             {
2026-06-10T07:08:01.0331864Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.0332160Z               "line": 116
2026-06-10T07:08:01.0332593Z             }
2026-06-10T07:08:01.0332870Z           ]
2026-06-10T07:08:01.0333156Z         },
2026-06-10T07:08:01.0333437Z         "int": {
2026-06-10T07:08:01.0333748Z           "complete": true,
2026-06-10T07:08:01.0334043Z           "evidence": [
2026-06-10T07:08:01.0334323Z             {
2026-06-10T07:08:01.0334732Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-10T07:08:01.0335132Z               "line": 35
2026-06-10T07:08:01.0335417Z             }
2026-06-10T07:08:01.0335690Z           ]
2026-06-10T07:08:01.0335971Z         },
2026-06-10T07:08:01.0336253Z         "unit": {
2026-06-10T07:08:01.0336558Z           "complete": true,
2026-06-10T07:08:01.0336850Z           "evidence": [
2026-06-10T07:08:01.0337133Z             {
2026-06-10T07:08:01.0337527Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.0337823Z               "line": 584
2026-06-10T07:08:01.0338109Z             },
2026-06-10T07:08:01.0338390Z             {
2026-06-10T07:08:01.0338758Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.0339130Z               "line": 351
2026-06-10T07:08:01.0339411Z             },
2026-06-10T07:08:01.0339700Z             {
2026-06-10T07:08:01.0340074Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-10T07:08:01.0340361Z               "line": 124
2026-06-10T07:08:01.0340641Z             },
2026-06-10T07:08:01.0340918Z             {
2026-06-10T07:08:01.0341300Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-10T07:08:01.0341591Z               "line": 143
2026-06-10T07:08:01.0341867Z             },
2026-06-10T07:08:01.0342134Z             {
2026-06-10T07:08:01.0342515Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-10T07:08:01.0342805Z               "line": 160
2026-06-10T07:08:01.0343087Z             },
2026-06-10T07:08:01.0343369Z             {
2026-06-10T07:08:01.0343749Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-10T07:08:01.0344055Z               "line": 187
2026-06-10T07:08:01.0344331Z             },
2026-06-10T07:08:01.0344613Z             {
2026-06-10T07:08:01.0344991Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-10T07:08:01.0345287Z               "line": 206
2026-06-10T07:08:01.0345578Z             },
2026-06-10T07:08:01.0345854Z             {
2026-06-10T07:08:01.0346236Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.0346536Z               "line": 229
2026-06-10T07:08:01.0346813Z             }
2026-06-10T07:08:01.0347090Z           ]
2026-06-10T07:08:01.0347366Z         }
2026-06-10T07:08:01.0347640Z       }
2026-06-10T07:08:01.0347920Z     },
2026-06-10T07:08:01.0348192Z     {
2026-06-10T07:08:01.0348568Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-10T07:08:01.0350759Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-10T07:08:01.0351093Z       "requiredStages": [
2026-06-10T07:08:01.0351374Z         "impl",
2026-06-10T07:08:01.0351665Z         "unit"
2026-06-10T07:08:01.0351937Z       ],
2026-06-10T07:08:01.0352228Z       "stages": {
2026-06-10T07:08:01.0352515Z         "doc": {
2026-06-10T07:08:01.0352829Z           "complete": false,
2026-06-10T07:08:01.0353132Z           "evidence": []
2026-06-10T07:08:01.0353404Z         },
2026-06-10T07:08:01.0353680Z         "impl": {
2026-06-10T07:08:01.0353981Z           "complete": true,
2026-06-10T07:08:01.0354272Z           "evidence": [
2026-06-10T07:08:01.0354543Z             {
2026-06-10T07:08:01.0354929Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.0355225Z               "line": 327
2026-06-10T07:08:01.0355504Z             },
2026-06-10T07:08:01.0355790Z             {
2026-06-10T07:08:01.0356167Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.0356571Z               "line": 504
2026-06-10T07:08:01.0356852Z             }
2026-06-10T07:08:01.0357149Z           ]
2026-06-10T07:08:01.0357444Z         },
2026-06-10T07:08:01.0357730Z         "int": {
2026-06-10T07:08:01.0358027Z           "complete": false,
2026-06-10T07:08:01.0358348Z           "evidence": []
2026-06-10T07:08:01.0358657Z         },
2026-06-10T07:08:01.0358929Z         "unit": {
2026-06-10T07:08:01.0359429Z           "complete": true,
2026-06-10T07:08:01.0359739Z           "evidence": [
2026-06-10T07:08:01.0360016Z             {
2026-06-10T07:08:01.0360416Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-10T07:08:01.0360710Z               "line": 161
2026-06-10T07:08:01.0360990Z             }
2026-06-10T07:08:01.0361262Z           ]
2026-06-10T07:08:01.0361544Z         }
2026-06-10T07:08:01.0361829Z       }
2026-06-10T07:08:01.0362101Z     },
2026-06-10T07:08:01.0362392Z     {
2026-06-10T07:08:01.0362711Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-10T07:08:01.0363293Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-10T07:08:01.0363601Z       "requiredStages": [
2026-06-10T07:08:01.0363888Z         "impl",
2026-06-10T07:08:01.0364170Z         "unit"
2026-06-10T07:08:01.0364441Z       ],
2026-06-10T07:08:01.0364737Z       "stages": {
2026-06-10T07:08:01.0365018Z         "doc": {
2026-06-10T07:08:01.0365329Z           "complete": false,
2026-06-10T07:08:01.0365619Z           "evidence": []
2026-06-10T07:08:01.0365903Z         },
2026-06-10T07:08:01.0366187Z         "impl": {
2026-06-10T07:08:01.0366483Z           "complete": true,
2026-06-10T07:08:01.0366769Z           "evidence": [
2026-06-10T07:08:01.0367056Z             {
2026-06-10T07:08:01.0367432Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0367723Z               "line": 40
2026-06-10T07:08:01.0368004Z             },
2026-06-10T07:08:01.0368286Z             {
2026-06-10T07:08:01.0368652Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0369040Z               "line": 100
2026-06-10T07:08:01.0369321Z             },
2026-06-10T07:08:01.0369599Z             {
2026-06-10T07:08:01.0369956Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0370251Z               "line": 215
2026-06-10T07:08:01.0370542Z             },
2026-06-10T07:08:01.0370819Z             {
2026-06-10T07:08:01.0371200Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0371489Z               "line": 314
2026-06-10T07:08:01.0371774Z             }
2026-06-10T07:08:01.0372056Z           ]
2026-06-10T07:08:01.0372475Z         },
2026-06-10T07:08:01.0372790Z         "int": {
2026-06-10T07:08:01.0373085Z           "complete": false,
2026-06-10T07:08:01.0373391Z           "evidence": []
2026-06-10T07:08:01.0373673Z         },
2026-06-10T07:08:01.0373964Z         "unit": {
2026-06-10T07:08:01.0374266Z           "complete": true,
2026-06-10T07:08:01.0374571Z           "evidence": [
2026-06-10T07:08:01.0374862Z             {
2026-06-10T07:08:01.0375225Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0375525Z               "line": 352
2026-06-10T07:08:01.0375802Z             },
2026-06-10T07:08:01.0376088Z             {
2026-06-10T07:08:01.0376449Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0376738Z               "line": 409
2026-06-10T07:08:01.0377029Z             },
2026-06-10T07:08:01.0377315Z             {
2026-06-10T07:08:01.0377696Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0377987Z               "line": 458
2026-06-10T07:08:01.0378269Z             },
2026-06-10T07:08:01.0378545Z             {
2026-06-10T07:08:01.0378921Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0379298Z               "line": 479
2026-06-10T07:08:01.0379576Z             }
2026-06-10T07:08:01.0379863Z           ]
2026-06-10T07:08:01.0380135Z         }
2026-06-10T07:08:01.0380416Z       }
2026-06-10T07:08:01.0380912Z     },
2026-06-10T07:08:01.0381193Z     {
2026-06-10T07:08:01.0381560Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-10T07:08:01.0381954Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-10T07:08:01.0382267Z       "requiredStages": [
2026-06-10T07:08:01.0382548Z         "impl",
2026-06-10T07:08:01.0382829Z         "unit"
2026-06-10T07:08:01.0383111Z       ],
2026-06-10T07:08:01.0383502Z       "stages": {
2026-06-10T07:08:01.0383821Z         "doc": {
2026-06-10T07:08:01.0384122Z           "complete": false,
2026-06-10T07:08:01.0384418Z           "evidence": []
2026-06-10T07:08:01.0384694Z         },
2026-06-10T07:08:01.0384980Z         "impl": {
2026-06-10T07:08:01.0385270Z           "complete": true,
2026-06-10T07:08:01.0385566Z           "evidence": [
2026-06-10T07:08:01.0385848Z             {
2026-06-10T07:08:01.0386215Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0386515Z               "line": 113
2026-06-10T07:08:01.0386797Z             },
2026-06-10T07:08:01.0387086Z             {
2026-06-10T07:08:01.0387446Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0387732Z               "line": 208
2026-06-10T07:08:01.0388008Z             }
2026-06-10T07:08:01.0388246Z           ]
2026-06-10T07:08:01.0388758Z         },
2026-06-10T07:08:01.0389115Z         "int": {
2026-06-10T07:08:01.0389420Z           "complete": false,
2026-06-10T07:08:01.0389717Z           "evidence": []
2026-06-10T07:08:01.0390001Z         },
2026-06-10T07:08:01.0390275Z         "unit": {
2026-06-10T07:08:01.0390570Z           "complete": true,
2026-06-10T07:08:01.0390861Z           "evidence": [
2026-06-10T07:08:01.0391137Z             {
2026-06-10T07:08:01.0391505Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0391796Z               "line": 373
2026-06-10T07:08:01.0392063Z             },
2026-06-10T07:08:01.0392339Z             {
2026-06-10T07:08:01.0392703Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0393004Z               "line": 436
2026-06-10T07:08:01.0393276Z             }
2026-06-10T07:08:01.0393547Z           ]
2026-06-10T07:08:01.0393820Z         }
2026-06-10T07:08:01.0394091Z       }
2026-06-10T07:08:01.0394362Z     },
2026-06-10T07:08:01.0394630Z     {
2026-06-10T07:08:01.0395011Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-10T07:08:01.0398206Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-10T07:08:01.0398588Z       "requiredStages": [
2026-06-10T07:08:01.0398869Z         "impl",
2026-06-10T07:08:01.0399227Z         "unit"
2026-06-10T07:08:01.0399508Z       ],
2026-06-10T07:08:01.0399784Z       "stages": {
2026-06-10T07:08:01.0400071Z         "doc": {
2026-06-10T07:08:01.0400375Z           "complete": true,
2026-06-10T07:08:01.0400664Z           "evidence": [
2026-06-10T07:08:01.0400950Z             {
2026-06-10T07:08:01.0401289Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.0401584Z               "line": 206
2026-06-10T07:08:01.0401852Z             }
2026-06-10T07:08:01.0402138Z           ]
2026-06-10T07:08:01.0402414Z         },
2026-06-10T07:08:01.0402724Z         "impl": {
2026-06-10T07:08:01.0403022Z           "complete": true,
2026-06-10T07:08:01.0403320Z           "evidence": [
2026-06-10T07:08:01.0403602Z             {
2026-06-10T07:08:01.0403983Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.0404284Z               "line": 593
2026-06-10T07:08:01.0404560Z             },
2026-06-10T07:08:01.0404846Z             {
2026-06-10T07:08:01.0405233Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.0405528Z               "line": 685
2026-06-10T07:08:01.0405823Z             },
2026-06-10T07:08:01.0406223Z             {
2026-06-10T07:08:01.0406620Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.0406915Z               "line": 183
2026-06-10T07:08:01.0407250Z             }
2026-06-10T07:08:01.0407550Z           ]
2026-06-10T07:08:01.0407831Z         },
2026-06-10T07:08:01.0408115Z         "int": {
2026-06-10T07:08:01.0408423Z           "complete": false,
2026-06-10T07:08:01.0409033Z           "evidence": []
2026-06-10T07:08:01.0409320Z         },
2026-06-10T07:08:01.0409605Z         "unit": {
2026-06-10T07:08:01.0409911Z           "complete": true,
2026-06-10T07:08:01.0410202Z           "evidence": [
2026-06-10T07:08:01.0410484Z             {
2026-06-10T07:08:01.0410860Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.0411159Z               "line": 734
2026-06-10T07:08:01.0411433Z             },
2026-06-10T07:08:01.0411720Z             {
2026-06-10T07:08:01.0412111Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-10T07:08:01.0412402Z               "line": 44
2026-06-10T07:08:01.0412683Z             },
2026-06-10T07:08:01.0412964Z             {
2026-06-10T07:08:01.0413327Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-10T07:08:01.0413606Z               "line": 54
2026-06-10T07:08:01.0413890Z             },
2026-06-10T07:08:01.0414157Z             {
2026-06-10T07:08:01.0414567Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-10T07:08:01.0414862Z               "line": 51
2026-06-10T07:08:01.0415134Z             }
2026-06-10T07:08:01.0415407Z           ]
2026-06-10T07:08:01.0415683Z         }
2026-06-10T07:08:01.0415960Z       }
2026-06-10T07:08:01.0416233Z     },
2026-06-10T07:08:01.0416507Z     {
2026-06-10T07:08:01.0416889Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-10T07:08:01.0417561Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-10T07:08:01.0417871Z       "requiredStages": [
2026-06-10T07:08:01.0418163Z         "impl",
2026-06-10T07:08:01.0418444Z         "unit"
2026-06-10T07:08:01.0418723Z       ],
2026-06-10T07:08:01.0419088Z       "stages": {
2026-06-10T07:08:01.0419369Z         "doc": {
2026-06-10T07:08:01.0419674Z           "complete": false,
2026-06-10T07:08:01.0419969Z           "evidence": []
2026-06-10T07:08:01.0420247Z         },
2026-06-10T07:08:01.0420533Z         "impl": {
2026-06-10T07:08:01.0420852Z           "complete": true,
2026-06-10T07:08:01.0421138Z           "evidence": [
2026-06-10T07:08:01.0421425Z             {
2026-06-10T07:08:01.0421798Z               "path": "crates/spt-live/src/context.rs",
2026-06-10T07:08:01.0422094Z               "line": 26
2026-06-10T07:08:01.0422370Z             },
2026-06-10T07:08:01.0422652Z             {
2026-06-10T07:08:01.0423024Z               "path": "crates/spt-live/src/context.rs",
2026-06-10T07:08:01.0423315Z               "line": 135
2026-06-10T07:08:01.0423596Z             },
2026-06-10T07:08:01.0423873Z             {
2026-06-10T07:08:01.0424276Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-10T07:08:01.0424570Z               "line": 26
2026-06-10T07:08:01.0424851Z             },
2026-06-10T07:08:01.0425399Z             {
2026-06-10T07:08:01.0425796Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-10T07:08:01.0426091Z               "line": 237
2026-06-10T07:08:01.0426372Z             }
2026-06-10T07:08:01.0426663Z           ]
2026-06-10T07:08:01.0426948Z         },
2026-06-10T07:08:01.0427225Z         "int": {
2026-06-10T07:08:01.0427530Z           "complete": false,
2026-06-10T07:08:01.0427826Z           "evidence": []
2026-06-10T07:08:01.0428116Z         },
2026-06-10T07:08:01.0428389Z         "unit": {
2026-06-10T07:08:01.0428690Z           "complete": true,
2026-06-10T07:08:01.0429075Z           "evidence": [
2026-06-10T07:08:01.0429346Z             {
2026-06-10T07:08:01.0429721Z               "path": "crates/spt-live/src/context.rs",
2026-06-10T07:08:01.0430006Z               "line": 161
2026-06-10T07:08:01.0430411Z             },
2026-06-10T07:08:01.0430683Z             {
2026-06-10T07:08:01.0431055Z               "path": "crates/spt-live/src/context.rs",
2026-06-10T07:08:01.0431350Z               "line": 170
2026-06-10T07:08:01.0431618Z             },
2026-06-10T07:08:01.0431900Z             {
2026-06-10T07:08:01.0432265Z               "path": "crates/spt-live/src/context.rs",
2026-06-10T07:08:01.0432659Z               "line": 179
2026-06-10T07:08:01.0432936Z             },
2026-06-10T07:08:01.0433217Z             {
2026-06-10T07:08:01.0433588Z               "path": "crates/spt-live/src/context.rs",
2026-06-10T07:08:01.0433885Z               "line": 190
2026-06-10T07:08:01.0434166Z             },
2026-06-10T07:08:01.0434457Z             {
2026-06-10T07:08:01.0434832Z               "path": "crates/spt-live/src/context.rs",
2026-06-10T07:08:01.0435130Z               "line": 199
2026-06-10T07:08:01.0435445Z             },
2026-06-10T07:08:01.0435731Z             {
2026-06-10T07:08:01.0436103Z               "path": "crates/spt-live/src/context.rs",
2026-06-10T07:08:01.0436414Z               "line": 216
2026-06-10T07:08:01.0436690Z             },
2026-06-10T07:08:01.0436986Z             {
2026-06-10T07:08:01.0437358Z               "path": "crates/spt-live/src/context.rs",
2026-06-10T07:08:01.0437651Z               "line": 242
2026-06-10T07:08:01.0437927Z             },
2026-06-10T07:08:01.0438223Z             {
2026-06-10T07:08:01.0438581Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-10T07:08:01.0438871Z               "line": 257
2026-06-10T07:08:01.0439245Z             },
2026-06-10T07:08:01.0439525Z             {
2026-06-10T07:08:01.0439896Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-10T07:08:01.0440189Z               "line": 244
2026-06-10T07:08:01.0440470Z             },
2026-06-10T07:08:01.0440752Z             {
2026-06-10T07:08:01.0441143Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-10T07:08:01.0441443Z               "line": 265
2026-06-10T07:08:01.0441733Z             },
2026-06-10T07:08:01.0442020Z             {
2026-06-10T07:08:01.0442421Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-10T07:08:01.0442710Z               "line": 293
2026-06-10T07:08:01.0442989Z             },
2026-06-10T07:08:01.0443266Z             {
2026-06-10T07:08:01.0443666Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-10T07:08:01.0443966Z               "line": 317
2026-06-10T07:08:01.0444253Z             },
2026-06-10T07:08:01.0444539Z             {
2026-06-10T07:08:01.0444930Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-10T07:08:01.0445230Z               "line": 327
2026-06-10T07:08:01.0445508Z             },
2026-06-10T07:08:01.0445795Z             {
2026-06-10T07:08:01.0446166Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.0446467Z               "line": 540
2026-06-10T07:08:01.0446758Z             }
2026-06-10T07:08:01.0447039Z           ]
2026-06-10T07:08:01.0447331Z         }
2026-06-10T07:08:01.0447603Z       }
2026-06-10T07:08:01.0447880Z     },
2026-06-10T07:08:01.0448148Z     {
2026-06-10T07:08:01.0448526Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-10T07:08:01.0449069Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-10T07:08:01.0449369Z       "requiredStages": [
2026-06-10T07:08:01.0449656Z         "impl",
2026-06-10T07:08:01.0449937Z         "unit"
2026-06-10T07:08:01.0450256Z       ],
2026-06-10T07:08:01.0450536Z       "stages": {
2026-06-10T07:08:01.0450816Z         "doc": {
2026-06-10T07:08:01.0451127Z           "complete": false,
2026-06-10T07:08:01.0451428Z           "evidence": []
2026-06-10T07:08:01.0451708Z         },
2026-06-10T07:08:01.0451979Z         "impl": {
2026-06-10T07:08:01.0452275Z           "complete": true,
2026-06-10T07:08:01.0452561Z           "evidence": [
2026-06-10T07:08:01.0452828Z             {
2026-06-10T07:08:01.0453190Z               "path": "crates/spt-live/src/echo.rs",
2026-06-10T07:08:01.0453607Z               "line": 25
2026-06-10T07:08:01.0453892Z             },
2026-06-10T07:08:01.0454174Z             {
2026-06-10T07:08:01.0454541Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-10T07:08:01.0454832Z               "line": 26
2026-06-10T07:08:01.0455214Z             },
2026-06-10T07:08:01.0455534Z             {
2026-06-10T07:08:01.0455885Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-10T07:08:01.0456450Z               "line": 159
2026-06-10T07:08:01.0456764Z             }
2026-06-10T07:08:01.0457041Z           ]
2026-06-10T07:08:01.0457323Z         },
2026-06-10T07:08:01.0457604Z         "int": {
2026-06-10T07:08:01.0457909Z           "complete": false,
2026-06-10T07:08:01.0458196Z           "evidence": []
2026-06-10T07:08:01.0458478Z         },
2026-06-10T07:08:01.0458757Z         "unit": {
2026-06-10T07:08:01.0459181Z           "complete": true,
2026-06-10T07:08:01.0459510Z           "evidence": [
2026-06-10T07:08:01.0459792Z             {
2026-06-10T07:08:01.0460163Z               "path": "crates/spt-live/src/echo.rs",
2026-06-10T07:08:01.0460455Z               "line": 184
2026-06-10T07:08:01.0460742Z             },
2026-06-10T07:08:01.0461016Z             {
2026-06-10T07:08:01.0461381Z               "path": "crates/spt-live/src/echo.rs",
2026-06-10T07:08:01.0461682Z               "line": 236
2026-06-10T07:08:01.0461963Z             },
2026-06-10T07:08:01.0462254Z             {
2026-06-10T07:08:01.0462612Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-10T07:08:01.0462903Z               "line": 186
2026-06-10T07:08:01.0463178Z             }
2026-06-10T07:08:01.0463465Z           ]
2026-06-10T07:08:01.0463745Z         }
2026-06-10T07:08:01.0464015Z       }
2026-06-10T07:08:01.0464297Z     },
2026-06-10T07:08:01.0464573Z     {
2026-06-10T07:08:01.0464897Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-10T07:08:01.0465411Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-10T07:08:01.0465707Z       "requiredStages": [
2026-06-10T07:08:01.0465998Z         "impl",
2026-06-10T07:08:01.0466274Z         "unit"
2026-06-10T07:08:01.0466544Z       ],
2026-06-10T07:08:01.0466825Z       "stages": {
2026-06-10T07:08:01.0467111Z         "doc": {
2026-06-10T07:08:01.0467407Z           "complete": false,
2026-06-10T07:08:01.0467707Z           "evidence": []
2026-06-10T07:08:01.0467993Z         },
2026-06-10T07:08:01.0468288Z         "impl": {
2026-06-10T07:08:01.0468593Z           "complete": true,
2026-06-10T07:08:01.0468885Z           "evidence": [
2026-06-10T07:08:01.0469365Z             {
2026-06-10T07:08:01.0469746Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.0470043Z               "line": 48
2026-06-10T07:08:01.0470329Z             },
2026-06-10T07:08:01.0470610Z             {
2026-06-10T07:08:01.0470992Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.0471278Z               "line": 55
2026-06-10T07:08:01.0471557Z             },
2026-06-10T07:08:01.0471845Z             {
2026-06-10T07:08:01.0472218Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.0472518Z               "line": 74
2026-06-10T07:08:01.0472794Z             },
2026-06-10T07:08:01.0473071Z             {
2026-06-10T07:08:01.0473438Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.0473729Z               "line": 91
2026-06-10T07:08:01.0474015Z             }
2026-06-10T07:08:01.0474296Z           ]
2026-06-10T07:08:01.0474575Z         },
2026-06-10T07:08:01.0474852Z         "int": {
2026-06-10T07:08:01.0475157Z           "complete": false,
2026-06-10T07:08:01.0475453Z           "evidence": []
2026-06-10T07:08:01.0475729Z         },
2026-06-10T07:08:01.0476010Z         "unit": {
2026-06-10T07:08:01.0476310Z           "complete": true,
2026-06-10T07:08:01.0476606Z           "evidence": [
2026-06-10T07:08:01.0476886Z             {
2026-06-10T07:08:01.0477260Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.0477551Z               "line": 149
2026-06-10T07:08:01.0477947Z             },
2026-06-10T07:08:01.0478218Z             {
2026-06-10T07:08:01.0478586Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.0478896Z               "line": 166
2026-06-10T07:08:01.0479264Z             },
2026-06-10T07:08:01.0479546Z             {
2026-06-10T07:08:01.0479915Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.0480321Z               "line": 176
2026-06-10T07:08:01.0480598Z             },
2026-06-10T07:08:01.0480884Z             {
2026-06-10T07:08:01.0481251Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.0481542Z               "line": 194
2026-06-10T07:08:01.0481829Z             },
2026-06-10T07:08:01.0482113Z             {
2026-06-10T07:08:01.0482487Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.0482787Z               "line": 207
2026-06-10T07:08:01.0483069Z             }
2026-06-10T07:08:01.0483354Z           ]
2026-06-10T07:08:01.0483650Z         }
2026-06-10T07:08:01.0483931Z       }
2026-06-10T07:08:01.0484208Z     },
2026-06-10T07:08:01.0484489Z     {
2026-06-10T07:08:01.0484837Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-10T07:08:01.0485431Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-10T07:08:01.0485745Z       "requiredStages": [
2026-06-10T07:08:01.0486027Z         "impl",
2026-06-10T07:08:01.0486323Z         "unit"
2026-06-10T07:08:01.0486599Z       ],
2026-06-10T07:08:01.0486895Z       "stages": {
2026-06-10T07:08:01.0487171Z         "doc": {
2026-06-10T07:08:01.0487470Z           "complete": false,
2026-06-10T07:08:01.0487768Z           "evidence": []
2026-06-10T07:08:01.0488040Z         },
2026-06-10T07:08:01.0488322Z         "impl": {
2026-06-10T07:08:01.0488617Z           "complete": true,
2026-06-10T07:08:01.0488913Z           "evidence": [
2026-06-10T07:08:01.0489280Z             {
2026-06-10T07:08:01.0489671Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.0489975Z               "line": 373
2026-06-10T07:08:01.0490257Z             },
2026-06-10T07:08:01.0490548Z             {
2026-06-10T07:08:01.0490915Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-10T07:08:01.0491210Z               "line": 26
2026-06-10T07:08:01.0491482Z             }
2026-06-10T07:08:01.0491759Z           ]
2026-06-10T07:08:01.0492036Z         },
2026-06-10T07:08:01.0492331Z         "int": {
2026-06-10T07:08:01.0492639Z           "complete": false,
2026-06-10T07:08:01.0492932Z           "evidence": []
2026-06-10T07:08:01.0493218Z         },
2026-06-10T07:08:01.0493496Z         "unit": {
2026-06-10T07:08:01.0493796Z           "complete": true,
2026-06-10T07:08:01.0494096Z           "evidence": [
2026-06-10T07:08:01.0494368Z             {
2026-06-10T07:08:01.0494735Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-10T07:08:01.0495026Z               "line": 150
2026-06-10T07:08:01.0495304Z             },
2026-06-10T07:08:01.0495582Z             {
2026-06-10T07:08:01.0495962Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-10T07:08:01.0496263Z               "line": 208
2026-06-10T07:08:01.0496544Z             }
2026-06-10T07:08:01.0496825Z           ]
2026-06-10T07:08:01.0497097Z         }
2026-06-10T07:08:01.0497373Z       }
2026-06-10T07:08:01.0497644Z     },
2026-06-10T07:08:01.0497926Z     {
2026-06-10T07:08:01.0498300Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-10T07:08:01.0502128Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-10T07:08:01.0502437Z       "requiredStages": [
2026-06-10T07:08:01.0502728Z         "doc",
2026-06-10T07:08:01.0503118Z         "impl",
2026-06-10T07:08:01.0503398Z         "unit"
2026-06-10T07:08:01.0503670Z       ],
2026-06-10T07:08:01.0503961Z       "stages": {
2026-06-10T07:08:01.0504237Z         "doc": {
2026-06-10T07:08:01.0504533Z           "complete": true,
2026-06-10T07:08:01.0504818Z           "evidence": [
2026-06-10T07:08:01.0505094Z             {
2026-06-10T07:08:01.0505619Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.0505911Z               "line": 214
2026-06-10T07:08:01.0506195Z             }
2026-06-10T07:08:01.0506451Z           ]
2026-06-10T07:08:01.0506736Z         },
2026-06-10T07:08:01.0507013Z         "impl": {
2026-06-10T07:08:01.0507308Z           "complete": true,
2026-06-10T07:08:01.0507590Z           "evidence": [
2026-06-10T07:08:01.0507871Z             {
2026-06-10T07:08:01.0508248Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.0508538Z               "line": 54
2026-06-10T07:08:01.0508822Z             },
2026-06-10T07:08:01.0509193Z             {
2026-06-10T07:08:01.0509570Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.0509865Z               "line": 511
2026-06-10T07:08:01.0510133Z             },
2026-06-10T07:08:01.0510414Z             {
2026-06-10T07:08:01.0510805Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0511096Z               "line": 36
2026-06-10T07:08:01.0511381Z             },
2026-06-10T07:08:01.0511649Z             {
2026-06-10T07:08:01.0512039Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0512326Z               "line": 59
2026-06-10T07:08:01.0512612Z             },
2026-06-10T07:08:01.0512884Z             {
2026-06-10T07:08:01.0513265Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0513561Z               "line": 83
2026-06-10T07:08:01.0513836Z             },
2026-06-10T07:08:01.0514115Z             {
2026-06-10T07:08:01.0514507Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0514807Z               "line": 140
2026-06-10T07:08:01.0515089Z             },
2026-06-10T07:08:01.0515364Z             {
2026-06-10T07:08:01.0515761Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0516052Z               "line": 159
2026-06-10T07:08:01.0516333Z             },
2026-06-10T07:08:01.0516602Z             {
2026-06-10T07:08:01.0516992Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0517286Z               "line": 384
2026-06-10T07:08:01.0517568Z             },
2026-06-10T07:08:01.0517849Z             {
2026-06-10T07:08:01.0518231Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0518527Z               "line": 526
2026-06-10T07:08:01.0518803Z             },
2026-06-10T07:08:01.0519165Z             {
2026-06-10T07:08:01.0519549Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0519839Z               "line": 572
2026-06-10T07:08:01.0520125Z             },
2026-06-10T07:08:01.0520401Z             {
2026-06-10T07:08:01.0520764Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.0521055Z               "line": 145
2026-06-10T07:08:01.0521337Z             },
2026-06-10T07:08:01.0521608Z             {
2026-06-10T07:08:01.0521951Z               "path": "crates/spt/src/main.rs",
2026-06-10T07:08:01.0522242Z               "line": 39
2026-06-10T07:08:01.0522519Z             }
2026-06-10T07:08:01.0522786Z           ]
2026-06-10T07:08:01.0523057Z         },
2026-06-10T07:08:01.0523347Z         "int": {
2026-06-10T07:08:01.0523648Z           "complete": false,
2026-06-10T07:08:01.0523953Z           "evidence": []
2026-06-10T07:08:01.0524234Z         },
2026-06-10T07:08:01.0524518Z         "unit": {
2026-06-10T07:08:01.0524819Z           "complete": true,
2026-06-10T07:08:01.0525109Z           "evidence": [
2026-06-10T07:08:01.0525396Z             {
2026-06-10T07:08:01.0525781Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0526196Z               "line": 785
2026-06-10T07:08:01.0526482Z             },
2026-06-10T07:08:01.0526758Z             {
2026-06-10T07:08:01.0527148Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0527442Z               "line": 826
2026-06-10T07:08:01.0527723Z             },
2026-06-10T07:08:01.0527990Z             {
2026-06-10T07:08:01.0528481Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.0528772Z               "line": 900
2026-06-10T07:08:01.0529111Z             }
2026-06-10T07:08:01.0529397Z           ]
2026-06-10T07:08:01.0529667Z         }
2026-06-10T07:08:01.0529943Z       }
2026-06-10T07:08:01.0530214Z     },
2026-06-10T07:08:01.0530501Z     {
2026-06-10T07:08:01.0530872Z       "id": "REQ-HAZARD-ENVELOPE-CR-LINESAFE",
2026-06-10T07:08:01.0535845Z       "title": "Envelope CR-linesafety (4.1): the line-framed EVENT codec must neutralize raw carriage returns — `event_body_escape` folds CRLF/lone-CR to the codec's representable linebreak (`\\n`→`<br>`) BEFORE framing, so a body carrying `\\r` (Windows `echo`/CRLF text crossing nodes) cannot survive into the single-line envelope and trigger a receiver terminal CR→col0 overwrite that corrupts the frame. Robustness on unrepresentable input, NOT a wire-format change (decoder untouched, amp-last invariant held). Belt-and-suspenders: `spt send`/`ring` also trim stdin (parity with `notify`).",
2026-06-10T07:08:01.0536204Z       "requiredStages": [
2026-06-10T07:08:01.0536484Z         "impl",
2026-06-10T07:08:01.0536756Z         "unit"
2026-06-10T07:08:01.0537033Z       ],
2026-06-10T07:08:01.0537318Z       "stages": {
2026-06-10T07:08:01.0537609Z         "doc": {
2026-06-10T07:08:01.0537912Z           "complete": false,
2026-06-10T07:08:01.0538203Z           "evidence": []
2026-06-10T07:08:01.0538475Z         },
2026-06-10T07:08:01.0538741Z         "impl": {
2026-06-10T07:08:01.0539128Z           "complete": true,
2026-06-10T07:08:01.0539410Z           "evidence": [
2026-06-10T07:08:01.0542286Z             {
2026-06-10T07:08:01.0542724Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0543034Z               "line": 31
2026-06-10T07:08:01.0543319Z             }
2026-06-10T07:08:01.0543601Z           ]
2026-06-10T07:08:01.0543887Z         },
2026-06-10T07:08:01.0544173Z         "int": {
2026-06-10T07:08:01.0544492Z           "complete": false,
2026-06-10T07:08:01.0544797Z           "evidence": []
2026-06-10T07:08:01.0545083Z         },
2026-06-10T07:08:01.0545369Z         "unit": {
2026-06-10T07:08:01.0545671Z           "complete": true,
2026-06-10T07:08:01.0546014Z           "evidence": [
2026-06-10T07:08:01.0546291Z             {
2026-06-10T07:08:01.0546677Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0546958Z               "line": 181
2026-06-10T07:08:01.0547245Z             }
2026-06-10T07:08:01.0547535Z           ]
2026-06-10T07:08:01.0547812Z         }
2026-06-10T07:08:01.0548085Z       }
2026-06-10T07:08:01.0548364Z     },
2026-06-10T07:08:01.0548638Z     {
2026-06-10T07:08:01.0549101Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-10T07:08:01.0549587Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-10T07:08:01.0549897Z       "requiredStages": [
2026-06-10T07:08:01.0550188Z         "impl",
2026-06-10T07:08:01.0550469Z         "unit"
2026-06-10T07:08:01.0550736Z       ],
2026-06-10T07:08:01.0551030Z       "stages": {
2026-06-10T07:08:01.0551306Z         "doc": {
2026-06-10T07:08:01.0551668Z           "complete": false,
2026-06-10T07:08:01.0551964Z           "evidence": []
2026-06-10T07:08:01.0552240Z         },
2026-06-10T07:08:01.0552527Z         "impl": {
2026-06-10T07:08:01.0552827Z           "complete": true,
2026-06-10T07:08:01.0553122Z           "evidence": [
2026-06-10T07:08:01.0553403Z             {
2026-06-10T07:08:01.0553793Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0554088Z               "line": 49
2026-06-10T07:08:01.0554542Z             },
2026-06-10T07:08:01.0554824Z             {
2026-06-10T07:08:01.0555209Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0555505Z               "line": 81
2026-06-10T07:08:01.0555783Z             }
2026-06-10T07:08:01.0556057Z           ]
2026-06-10T07:08:01.0556341Z         },
2026-06-10T07:08:01.0556617Z         "int": {
2026-06-10T07:08:01.0556922Z           "complete": false,
2026-06-10T07:08:01.0558210Z           "evidence": []
2026-06-10T07:08:01.0558491Z         },
2026-06-10T07:08:01.0558824Z         "unit": {
2026-06-10T07:08:01.0559208Z           "complete": true,
2026-06-10T07:08:01.0559503Z           "evidence": [
2026-06-10T07:08:01.0559794Z             {
2026-06-10T07:08:01.0560220Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0560520Z               "line": 156
2026-06-10T07:08:01.0560811Z             },
2026-06-10T07:08:01.0561087Z             {
2026-06-10T07:08:01.0561476Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0561779Z               "line": 173
2026-06-10T07:08:01.0562051Z             },
2026-06-10T07:08:01.0562332Z             {
2026-06-10T07:08:01.0562748Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0563038Z               "line": 196
2026-06-10T07:08:01.0563319Z             }
2026-06-10T07:08:01.0563597Z           ]
2026-06-10T07:08:01.0563877Z         }
2026-06-10T07:08:01.0564164Z       }
2026-06-10T07:08:01.0564449Z     },
2026-06-10T07:08:01.0564721Z     {
2026-06-10T07:08:01.0565098Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-10T07:08:01.0565646Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-10T07:08:01.0565952Z       "requiredStages": [
2026-06-10T07:08:01.0566242Z         "impl",
2026-06-10T07:08:01.0566508Z         "unit"
2026-06-10T07:08:01.0566782Z       ],
2026-06-10T07:08:01.0567064Z       "stages": {
2026-06-10T07:08:01.0567345Z         "doc": {
2026-06-10T07:08:01.0567654Z           "complete": false,
2026-06-10T07:08:01.0567988Z           "evidence": []
2026-06-10T07:08:01.0568266Z         },
2026-06-10T07:08:01.0568547Z         "impl": {
2026-06-10T07:08:01.0568857Z           "complete": true,
2026-06-10T07:08:01.0569229Z           "evidence": [
2026-06-10T07:08:01.0569523Z             {
2026-06-10T07:08:01.0569917Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0570221Z               "line": 120
2026-06-10T07:08:01.0570508Z             }
2026-06-10T07:08:01.0570780Z           ]
2026-06-10T07:08:01.0571056Z         },
2026-06-10T07:08:01.0571327Z         "int": {
2026-06-10T07:08:01.0571642Z           "complete": false,
2026-06-10T07:08:01.0571936Z           "evidence": []
2026-06-10T07:08:01.0572221Z         },
2026-06-10T07:08:01.0572516Z         "unit": {
2026-06-10T07:08:01.0572817Z           "complete": true,
2026-06-10T07:08:01.0573117Z           "evidence": [
2026-06-10T07:08:01.0573398Z             {
2026-06-10T07:08:01.0573789Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0574090Z               "line": 212
2026-06-10T07:08:01.0574381Z             },
2026-06-10T07:08:01.0574658Z             {
2026-06-10T07:08:01.0575048Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0575343Z               "line": 221
2026-06-10T07:08:01.0575625Z             },
2026-06-10T07:08:01.0575906Z             {
2026-06-10T07:08:01.0576292Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0576588Z               "line": 229
2026-06-10T07:08:01.0576870Z             },
2026-06-10T07:08:01.0577144Z             {
2026-06-10T07:08:01.0577533Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0577823Z               "line": 239
2026-06-10T07:08:01.0578100Z             },
2026-06-10T07:08:01.0578381Z             {
2026-06-10T07:08:01.0578764Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-10T07:08:01.0579155Z               "line": 249
2026-06-10T07:08:01.0579578Z             }
2026-06-10T07:08:01.0579873Z           ]
2026-06-10T07:08:01.0580158Z         }
2026-06-10T07:08:01.0580443Z       }
2026-06-10T07:08:01.0580716Z     },
2026-06-10T07:08:01.0580996Z     {
2026-06-10T07:08:01.0581345Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-10T07:08:01.0581854Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-10T07:08:01.0582256Z       "requiredStages": [
2026-06-10T07:08:01.0582539Z         "impl",
2026-06-10T07:08:01.0582823Z         "unit"
2026-06-10T07:08:01.0583100Z       ],
2026-06-10T07:08:01.0583391Z       "stages": {
2026-06-10T07:08:01.0583663Z         "doc": {
2026-06-10T07:08:01.0583954Z           "complete": false,
2026-06-10T07:08:01.0584245Z           "evidence": []
2026-06-10T07:08:01.0584522Z         },
2026-06-10T07:08:01.0584808Z         "impl": {
2026-06-10T07:08:01.0585098Z           "complete": true,
2026-06-10T07:08:01.0585383Z           "evidence": [
2026-06-10T07:08:01.0585660Z             {
2026-06-10T07:08:01.0586026Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-10T07:08:01.0586332Z               "line": 14
2026-06-10T07:08:01.0586614Z             },
2026-06-10T07:08:01.0586895Z             {
2026-06-10T07:08:01.0587237Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-10T07:08:01.0587524Z               "line": 62
2026-06-10T07:08:01.0587799Z             }
2026-06-10T07:08:01.0588103Z           ]
2026-06-10T07:08:01.0588384Z         },
2026-06-10T07:08:01.0588660Z         "int": {
2026-06-10T07:08:01.0589038Z           "complete": false,
2026-06-10T07:08:01.0589333Z           "evidence": []
2026-06-10T07:08:01.0589609Z         },
2026-06-10T07:08:01.0589895Z         "unit": {
2026-06-10T07:08:01.0590191Z           "complete": true,
2026-06-10T07:08:01.0590490Z           "evidence": [
2026-06-10T07:08:01.0590769Z             {
2026-06-10T07:08:01.0591117Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-10T07:08:01.0591404Z               "line": 160
2026-06-10T07:08:01.0591690Z             },
2026-06-10T07:08:01.0591976Z             {
2026-06-10T07:08:01.0592318Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-10T07:08:01.0592615Z               "line": 197
2026-06-10T07:08:01.0592893Z             },
2026-06-10T07:08:01.0593176Z             {
2026-06-10T07:08:01.0593522Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-10T07:08:01.0593813Z               "line": 219
2026-06-10T07:08:01.0594113Z             }
2026-06-10T07:08:01.0594384Z           ]
2026-06-10T07:08:01.0594666Z         }
2026-06-10T07:08:01.0594938Z       }
2026-06-10T07:08:01.0595253Z     },
2026-06-10T07:08:01.0595519Z     {
2026-06-10T07:08:01.0595858Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-10T07:08:01.0599831Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-10T07:08:01.0600155Z       "requiredStages": [],
2026-06-10T07:08:01.0600445Z       "stages": {
2026-06-10T07:08:01.0600732Z         "doc": {
2026-06-10T07:08:01.0601026Z           "complete": true,
2026-06-10T07:08:01.0601343Z           "evidence": [
2026-06-10T07:08:01.0601626Z             {
2026-06-10T07:08:01.0601973Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.0602270Z               "line": 165
2026-06-10T07:08:01.0602550Z             }
2026-06-10T07:08:01.0602827Z           ]
2026-06-10T07:08:01.0603104Z         },
2026-06-10T07:08:01.0603391Z         "impl": {
2026-06-10T07:08:01.0603698Z           "complete": false,
2026-06-10T07:08:01.0603995Z           "evidence": []
2026-06-10T07:08:01.0604272Z         },
2026-06-10T07:08:01.0604553Z         "int": {
2026-06-10T07:08:01.0604854Z           "complete": false,
2026-06-10T07:08:01.0605278Z           "evidence": []
2026-06-10T07:08:01.0605565Z         },
2026-06-10T07:08:01.0605846Z         "unit": {
2026-06-10T07:08:01.0606161Z           "complete": false,
2026-06-10T07:08:01.0606456Z           "evidence": []
2026-06-10T07:08:01.0606737Z         }
2026-06-10T07:08:01.0607014Z       }
2026-06-10T07:08:01.0607286Z     },
2026-06-10T07:08:01.0607662Z     {
2026-06-10T07:08:01.0608034Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-10T07:08:01.0608692Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-10T07:08:01.0609070Z       "requiredStages": [
2026-06-10T07:08:01.0609347Z         "impl",
2026-06-10T07:08:01.0609623Z         "unit"
2026-06-10T07:08:01.0609900Z       ],
2026-06-10T07:08:01.0610182Z       "stages": {
2026-06-10T07:08:01.0610454Z         "doc": {
2026-06-10T07:08:01.0610759Z           "complete": false,
2026-06-10T07:08:01.0611035Z           "evidence": []
2026-06-10T07:08:01.0611320Z         },
2026-06-10T07:08:01.0611601Z         "impl": {
2026-06-10T07:08:01.0611894Z           "complete": true,
2026-06-10T07:08:01.0612181Z           "evidence": [
2026-06-10T07:08:01.0612453Z             {
2026-06-10T07:08:01.0612805Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0613092Z               "line": 76
2026-06-10T07:08:01.0613369Z             },
2026-06-10T07:08:01.0613641Z             {
2026-06-10T07:08:01.0614008Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0614306Z               "line": 167
2026-06-10T07:08:01.0614580Z             },
2026-06-10T07:08:01.0614861Z             {
2026-06-10T07:08:01.0615224Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0615519Z               "line": 233
2026-06-10T07:08:01.0615801Z             },
2026-06-10T07:08:01.0616077Z             {
2026-06-10T07:08:01.0616449Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0616740Z               "line": 272
2026-06-10T07:08:01.0617025Z             }
2026-06-10T07:08:01.0617297Z           ]
2026-06-10T07:08:01.0617574Z         },
2026-06-10T07:08:01.0617860Z         "int": {
2026-06-10T07:08:01.0618156Z           "complete": false,
2026-06-10T07:08:01.0618457Z           "evidence": []
2026-06-10T07:08:01.0618728Z         },
2026-06-10T07:08:01.0619096Z         "unit": {
2026-06-10T07:08:01.0619398Z           "complete": true,
2026-06-10T07:08:01.0619706Z           "evidence": [
2026-06-10T07:08:01.0619987Z             {
2026-06-10T07:08:01.0620350Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0620655Z               "line": 321
2026-06-10T07:08:01.0620936Z             },
2026-06-10T07:08:01.0621232Z             {
2026-06-10T07:08:01.0621595Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0621890Z               "line": 329
2026-06-10T07:08:01.0622175Z             },
2026-06-10T07:08:01.0622459Z             {
2026-06-10T07:08:01.0622830Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0623126Z               "line": 356
2026-06-10T07:08:01.0623408Z             },
2026-06-10T07:08:01.0623685Z             {
2026-06-10T07:08:01.0624056Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0624347Z               "line": 395
2026-06-10T07:08:01.0624620Z             },
2026-06-10T07:08:01.0624890Z             {
2026-06-10T07:08:01.0625250Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0625537Z               "line": 406
2026-06-10T07:08:01.0625808Z             },
2026-06-10T07:08:01.0626075Z             {
2026-06-10T07:08:01.0626438Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0626718Z               "line": 418
2026-06-10T07:08:01.0627000Z             },
2026-06-10T07:08:01.0627272Z             {
2026-06-10T07:08:01.0627633Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-10T07:08:01.0627933Z               "line": 442
2026-06-10T07:08:01.0628319Z             }
2026-06-10T07:08:01.0628601Z           ]
2026-06-10T07:08:01.0628868Z         }
2026-06-10T07:08:01.0629206Z       }
2026-06-10T07:08:01.0629473Z     },
2026-06-10T07:08:01.0629746Z     {
2026-06-10T07:08:01.0630072Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-10T07:08:01.0630523Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-10T07:08:01.0630829Z       "requiredStages": [
2026-06-10T07:08:01.0631225Z         "impl",
2026-06-10T07:08:01.0631501Z         "int"
2026-06-10T07:08:01.0631773Z       ],
2026-06-10T07:08:01.0632059Z       "stages": {
2026-06-10T07:08:01.0632335Z         "doc": {
2026-06-10T07:08:01.0632627Z           "complete": false,
2026-06-10T07:08:01.0632916Z           "evidence": []
2026-06-10T07:08:01.0633191Z         },
2026-06-10T07:08:01.0633472Z         "impl": {
2026-06-10T07:08:01.0633758Z           "complete": true,
2026-06-10T07:08:01.0634048Z           "evidence": [
2026-06-10T07:08:01.0634326Z             {
2026-06-10T07:08:01.0634702Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.0634984Z               "line": 22
2026-06-10T07:08:01.0635250Z             }
2026-06-10T07:08:01.0635548Z           ]
2026-06-10T07:08:01.0635830Z         },
2026-06-10T07:08:01.0636107Z         "int": {
2026-06-10T07:08:01.0636402Z           "complete": true,
2026-06-10T07:08:01.0636693Z           "evidence": [
2026-06-10T07:08:01.0636968Z             {
2026-06-10T07:08:01.0637346Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-10T07:08:01.0637638Z               "line": 18
2026-06-10T07:08:01.0637913Z             }
2026-06-10T07:08:01.0638188Z           ]
2026-06-10T07:08:01.0638460Z         },
2026-06-10T07:08:01.0638738Z         "unit": {
2026-06-10T07:08:01.0639127Z           "complete": false,
2026-06-10T07:08:01.0639470Z           "evidence": []
2026-06-10T07:08:01.0639747Z         }
2026-06-10T07:08:01.0640014Z       }
2026-06-10T07:08:01.0640287Z     },
2026-06-10T07:08:01.0640562Z     {
2026-06-10T07:08:01.0640937Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-10T07:08:01.0641524Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-10T07:08:01.0641834Z       "requiredStages": [
2026-06-10T07:08:01.0642119Z         "impl",
2026-06-10T07:08:01.0642400Z         "unit"
2026-06-10T07:08:01.0642686Z       ],
2026-06-10T07:08:01.0642968Z       "stages": {
2026-06-10T07:08:01.0643262Z         "doc": {
2026-06-10T07:08:01.0643570Z           "complete": false,
2026-06-10T07:08:01.0643861Z           "evidence": []
2026-06-10T07:08:01.0644147Z         },
2026-06-10T07:08:01.0644429Z         "impl": {
2026-06-10T07:08:01.0644734Z           "complete": true,
2026-06-10T07:08:01.0645021Z           "evidence": [
2026-06-10T07:08:01.0645306Z             {
2026-06-10T07:08:01.0645707Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.0645996Z               "line": 372
2026-06-10T07:08:01.0646280Z             },
2026-06-10T07:08:01.0646556Z             {
2026-06-10T07:08:01.0646934Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-10T07:08:01.0647224Z               "line": 27
2026-06-10T07:08:01.0647505Z             }
2026-06-10T07:08:01.0647790Z           ]
2026-06-10T07:08:01.0648068Z         },
2026-06-10T07:08:01.0648353Z         "int": {
2026-06-10T07:08:01.0648649Z           "complete": false,
2026-06-10T07:08:01.0649029Z           "evidence": []
2026-06-10T07:08:01.0649312Z         },
2026-06-10T07:08:01.0649588Z         "unit": {
2026-06-10T07:08:01.0649893Z           "complete": true,
2026-06-10T07:08:01.0650175Z           "evidence": [
2026-06-10T07:08:01.0650452Z             {
2026-06-10T07:08:01.0650833Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.0651122Z               "line": 817
2026-06-10T07:08:01.0651392Z             },
2026-06-10T07:08:01.0651667Z             {
2026-06-10T07:08:01.0652035Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-10T07:08:01.0652321Z               "line": 181
2026-06-10T07:08:01.0652713Z             }
2026-06-10T07:08:01.0652994Z           ]
2026-06-10T07:08:01.0653280Z         }
2026-06-10T07:08:01.0653552Z       }
2026-06-10T07:08:01.0653832Z     },
2026-06-10T07:08:01.0654111Z     {
2026-06-10T07:08:01.0654464Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-10T07:08:01.0654970Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-10T07:08:01.0655374Z       "requiredStages": [
2026-06-10T07:08:01.0655661Z         "impl",
2026-06-10T07:08:01.0655942Z         "unit"
2026-06-10T07:08:01.0656225Z       ],
2026-06-10T07:08:01.0656508Z       "stages": {
2026-06-10T07:08:01.0656787Z         "doc": {
2026-06-10T07:08:01.0657096Z           "complete": false,
2026-06-10T07:08:01.0657392Z           "evidence": []
2026-06-10T07:08:01.0657683Z         },
2026-06-10T07:08:01.0657965Z         "impl": {
2026-06-10T07:08:01.0658280Z           "complete": true,
2026-06-10T07:08:01.0658575Z           "evidence": [
2026-06-10T07:08:01.0658862Z             {
2026-06-10T07:08:01.0659346Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0659632Z               "line": 61
2026-06-10T07:08:01.0659914Z             },
2026-06-10T07:08:01.0660192Z             {
2026-06-10T07:08:01.0660581Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0660877Z               "line": 396
2026-06-10T07:08:01.0661163Z             },
2026-06-10T07:08:01.0661445Z             {
2026-06-10T07:08:01.0661808Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-10T07:08:01.0662100Z               "line": 20
2026-06-10T07:08:01.0662390Z             },
2026-06-10T07:08:01.0662663Z             {
2026-06-10T07:08:01.0663029Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-10T07:08:01.0663321Z               "line": 100
2026-06-10T07:08:01.0663598Z             },
2026-06-10T07:08:01.0663874Z             {
2026-06-10T07:08:01.0664247Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-10T07:08:01.0664568Z               "line": 443
2026-06-10T07:08:01.0664842Z             },
2026-06-10T07:08:01.0665123Z             {
2026-06-10T07:08:01.0665502Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-10T07:08:01.0665792Z               "line": 68
2026-06-10T07:08:01.0666072Z             },
2026-06-10T07:08:01.0666359Z             {
2026-06-10T07:08:01.0666746Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-10T07:08:01.0667044Z               "line": 80
2026-06-10T07:08:01.0667332Z             }
2026-06-10T07:08:01.0667614Z           ]
2026-06-10T07:08:01.0667896Z         },
2026-06-10T07:08:01.0668172Z         "int": {
2026-06-10T07:08:01.0668477Z           "complete": false,
2026-06-10T07:08:01.0668778Z           "evidence": []
2026-06-10T07:08:01.0669140Z         },
2026-06-10T07:08:01.0669440Z         "unit": {
2026-06-10T07:08:01.0669746Z           "complete": true,
2026-06-10T07:08:01.0670046Z           "evidence": [
2026-06-10T07:08:01.0670332Z             {
2026-06-10T07:08:01.0670727Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0671028Z               "line": 556
2026-06-10T07:08:01.0671300Z             },
2026-06-10T07:08:01.0671591Z             {
2026-06-10T07:08:01.0671977Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.0672271Z               "line": 572
2026-06-10T07:08:01.0672559Z             },
2026-06-10T07:08:01.0672846Z             {
2026-06-10T07:08:01.0673223Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.0673519Z               "line": 1043
2026-06-10T07:08:01.0673805Z             },
2026-06-10T07:08:01.0674085Z             {
2026-06-10T07:08:01.0674463Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-10T07:08:01.0674754Z               "line": 152
2026-06-10T07:08:01.0675027Z             },
2026-06-10T07:08:01.0675302Z             {
2026-06-10T07:08:01.0675664Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-10T07:08:01.0676062Z               "line": 175
2026-06-10T07:08:01.0676337Z             },
2026-06-10T07:08:01.0676628Z             {
2026-06-10T07:08:01.0677001Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-10T07:08:01.0677282Z               "line": 186
2026-06-10T07:08:01.0677570Z             },
2026-06-10T07:08:01.0677841Z             {
2026-06-10T07:08:01.0678212Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-10T07:08:01.0678599Z               "line": 202
2026-06-10T07:08:01.0678880Z             },
2026-06-10T07:08:01.0679238Z             {
2026-06-10T07:08:01.0679610Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-10T07:08:01.0679912Z               "line": 216
2026-06-10T07:08:01.0680188Z             },
2026-06-10T07:08:01.0680462Z             {
2026-06-10T07:08:01.0680844Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-10T07:08:01.0681139Z               "line": 137
2026-06-10T07:08:01.0681415Z             },
2026-06-10T07:08:01.0681711Z             {
2026-06-10T07:08:01.0682040Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0682331Z               "line": 5529
2026-06-10T07:08:01.0682616Z             },
2026-06-10T07:08:01.0682887Z             {
2026-06-10T07:08:01.0683253Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-10T07:08:01.0683544Z               "line": 30
2026-06-10T07:08:01.0683830Z             },
2026-06-10T07:08:01.0684107Z             {
2026-06-10T07:08:01.0684469Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-10T07:08:01.0684765Z               "line": 69
2026-06-10T07:08:01.0685042Z             }
2026-06-10T07:08:01.0685324Z           ]
2026-06-10T07:08:01.0685597Z         }
2026-06-10T07:08:01.0685872Z       }
2026-06-10T07:08:01.0686144Z     },
2026-06-10T07:08:01.0686412Z     {
2026-06-10T07:08:01.0686736Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-10T07:08:01.0687503Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-10T07:08:01.0687823Z       "requiredStages": [
2026-06-10T07:08:01.0688103Z         "impl",
2026-06-10T07:08:01.0688377Z         "unit"
2026-06-10T07:08:01.0688659Z       ],
2026-06-10T07:08:01.0688931Z       "stages": {
2026-06-10T07:08:01.0689278Z         "doc": {
2026-06-10T07:08:01.0689574Z           "complete": true,
2026-06-10T07:08:01.0689865Z           "evidence": [
2026-06-10T07:08:01.0690157Z             {
2026-06-10T07:08:01.0690500Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.0690810Z               "line": 133
2026-06-10T07:08:01.0691084Z             }
2026-06-10T07:08:01.0691365Z           ]
2026-06-10T07:08:01.0691641Z         },
2026-06-10T07:08:01.0691923Z         "impl": {
2026-06-10T07:08:01.0692224Z           "complete": true,
2026-06-10T07:08:01.0692510Z           "evidence": [
2026-06-10T07:08:01.0692796Z             {
2026-06-10T07:08:01.0693149Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-10T07:08:01.0693447Z               "line": 65
2026-06-10T07:08:01.0693733Z             },
2026-06-10T07:08:01.0694019Z             {
2026-06-10T07:08:01.0694376Z               "path": "crates/spt-proto/src/id.rs",
2026-06-10T07:08:01.0694663Z               "line": 17
2026-06-10T07:08:01.0694953Z             },
2026-06-10T07:08:01.0695230Z             {
2026-06-10T07:08:01.0695607Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.0695907Z               "line": 217
2026-06-10T07:08:01.0696191Z             },
2026-06-10T07:08:01.0696470Z             {
2026-06-10T07:08:01.0696838Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.0697138Z               "line": 317
2026-06-10T07:08:01.0697414Z             },
2026-06-10T07:08:01.0697700Z             {
2026-06-10T07:08:01.0698063Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:01.0698359Z               "line": 32
2026-06-10T07:08:01.0698644Z             },
2026-06-10T07:08:01.0698923Z             {
2026-06-10T07:08:01.0699519Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0699810Z               "line": 4400
2026-06-10T07:08:01.0700097Z             },
2026-06-10T07:08:01.0700373Z             {
2026-06-10T07:08:01.0700707Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.0701003Z               "line": 4668
2026-06-10T07:08:01.0701274Z             }
2026-06-10T07:08:01.0701544Z           ]
2026-06-10T07:08:01.0701911Z         },
2026-06-10T07:08:01.0702193Z         "int": {
2026-06-10T07:08:01.0702493Z           "complete": false,
2026-06-10T07:08:01.0702798Z           "evidence": []
2026-06-10T07:08:01.0703084Z         },
2026-06-10T07:08:01.0703366Z         "unit": {
2026-06-10T07:08:01.0703671Z           "complete": true,
2026-06-10T07:08:01.0703956Z           "evidence": [
2026-06-10T07:08:01.0704240Z             {
2026-06-10T07:08:01.0704593Z               "path": "crates/spt-proto/src/id.rs",
2026-06-10T07:08:01.0704894Z               "line": 94
2026-06-10T07:08:01.0705171Z             },
2026-06-10T07:08:01.0705460Z             {
2026-06-10T07:08:01.0705819Z               "path": "crates/spt-proto/src/id.rs",
2026-06-10T07:08:01.0706110Z               "line": 111
2026-06-10T07:08:01.0706391Z             },
2026-06-10T07:08:01.0706670Z             {
2026-06-10T07:08:01.0707021Z               "path": "crates/spt-proto/src/id.rs",
2026-06-10T07:08:01.0707316Z               "line": 124
2026-06-10T07:08:01.0707602Z             },
2026-06-10T07:08:01.0707875Z             {
2026-06-10T07:08:01.0708242Z               "path": "crates/spt-proto/src/id.rs",
2026-06-10T07:08:01.0708537Z               "line": 134
2026-06-10T07:08:01.0708814Z             },
2026-06-10T07:08:01.0709194Z             {
2026-06-10T07:08:01.0709544Z               "path": "crates/spt-proto/src/id.rs",
2026-06-10T07:08:01.0709831Z               "line": 144
2026-06-10T07:08:01.0710113Z             },
2026-06-10T07:08:01.0710389Z             {
2026-06-10T07:08:01.0710741Z               "path": "crates/spt-proto/src/id.rs",
2026-06-10T07:08:01.0711037Z               "line": 156
2026-06-10T07:08:01.0711319Z             },
2026-06-10T07:08:01.0711606Z             {
2026-06-10T07:08:01.0712005Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.0712301Z               "line": 714
2026-06-10T07:08:01.0712577Z             }
2026-06-10T07:08:01.0712854Z           ]
2026-06-10T07:08:01.0713130Z         }
2026-06-10T07:08:01.0713439Z       }
2026-06-10T07:08:01.0713721Z     },
2026-06-10T07:08:01.0713987Z     {
2026-06-10T07:08:01.0714344Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-10T07:08:01.0714762Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-10T07:08:01.0715066Z       "requiredStages": [
2026-06-10T07:08:01.0715352Z         "impl",
2026-06-10T07:08:01.0715634Z         "unit"
2026-06-10T07:08:01.0715916Z       ],
2026-06-10T07:08:01.0716202Z       "stages": {
2026-06-10T07:08:01.0716483Z         "doc": {
2026-06-10T07:08:01.0716788Z           "complete": false,
2026-06-10T07:08:01.0717192Z           "evidence": []
2026-06-10T07:08:01.0717605Z         },
2026-06-10T07:08:01.0717890Z         "impl": {
2026-06-10T07:08:01.0718181Z           "complete": true,
2026-06-10T07:08:01.0718463Z           "evidence": [
2026-06-10T07:08:01.0718759Z             {
2026-06-10T07:08:01.0719374Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.0719656Z               "line": 128
2026-06-10T07:08:01.0719931Z             }
2026-06-10T07:08:01.0720205Z           ]
2026-06-10T07:08:01.0720476Z         },
2026-06-10T07:08:01.0720738Z         "int": {
2026-06-10T07:08:01.0721034Z           "complete": false,
2026-06-10T07:08:01.0721331Z           "evidence": []
2026-06-10T07:08:01.0721602Z         },
2026-06-10T07:08:01.0721875Z         "unit": {
2026-06-10T07:08:01.0722166Z           "complete": true,
2026-06-10T07:08:01.0722452Z           "evidence": [
2026-06-10T07:08:01.0722741Z             {
2026-06-10T07:08:01.0723094Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.0723499Z               "line": 205
2026-06-10T07:08:01.0723786Z             }
2026-06-10T07:08:01.0724053Z           ]
2026-06-10T07:08:01.0724339Z         }
2026-06-10T07:08:01.0724629Z       }
2026-06-10T07:08:01.0724904Z     },
2026-06-10T07:08:01.0725184Z     {
2026-06-10T07:08:01.0725536Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-10T07:08:01.0726009Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-10T07:08:01.0726433Z       "requiredStages": [
2026-06-10T07:08:01.0726724Z         "impl",
2026-06-10T07:08:01.0727010Z         "unit"
2026-06-10T07:08:01.0727283Z       ],
2026-06-10T07:08:01.0727574Z       "stages": {
2026-06-10T07:08:01.0727857Z         "doc": {
2026-06-10T07:08:01.0728155Z           "complete": false,
2026-06-10T07:08:01.0728446Z           "evidence": []
2026-06-10T07:08:01.0728728Z         },
2026-06-10T07:08:01.0729094Z         "impl": {
2026-06-10T07:08:01.0729390Z           "complete": true,
2026-06-10T07:08:01.0729686Z           "evidence": [
2026-06-10T07:08:01.0729976Z             {
2026-06-10T07:08:01.0730338Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.0730631Z               "line": 246
2026-06-10T07:08:01.0730909Z             },
2026-06-10T07:08:01.0731194Z             {
2026-06-10T07:08:01.0731548Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.0731843Z               "line": 257
2026-06-10T07:08:01.0732129Z             },
2026-06-10T07:08:01.0732406Z             {
2026-06-10T07:08:01.0732773Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.0733070Z               "line": 275
2026-06-10T07:08:01.0733353Z             }
2026-06-10T07:08:01.0733625Z           ]
2026-06-10T07:08:01.0733906Z         },
2026-06-10T07:08:01.0734187Z         "int": {
2026-06-10T07:08:01.0734492Z           "complete": false,
2026-06-10T07:08:01.0734788Z           "evidence": []
2026-06-10T07:08:01.0735069Z         },
2026-06-10T07:08:01.0735351Z         "unit": {
2026-06-10T07:08:01.0735655Z           "complete": true,
2026-06-10T07:08:01.0735944Z           "evidence": [
2026-06-10T07:08:01.0736221Z             {
2026-06-10T07:08:01.0736579Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.0736856Z               "line": 299
2026-06-10T07:08:01.0737141Z             },
2026-06-10T07:08:01.0737417Z             {
2026-06-10T07:08:01.0737771Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.0738056Z               "line": 320
2026-06-10T07:08:01.0738332Z             },
2026-06-10T07:08:01.0738606Z             {
2026-06-10T07:08:01.0739035Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.0739325Z               "line": 547
2026-06-10T07:08:01.0739607Z             },
2026-06-10T07:08:01.0739874Z             {
2026-06-10T07:08:01.0740217Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.0740508Z               "line": 558
2026-06-10T07:08:01.0740781Z             },
2026-06-10T07:08:01.0741055Z             {
2026-06-10T07:08:01.0741403Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.0741693Z               "line": 571
2026-06-10T07:08:01.0741970Z             }
2026-06-10T07:08:01.0742236Z           ]
2026-06-10T07:08:01.0742507Z         }
2026-06-10T07:08:01.0742790Z       }
2026-06-10T07:08:01.0743061Z     },
2026-06-10T07:08:01.0743338Z     {
2026-06-10T07:08:01.0743681Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-10T07:08:01.0745464Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-10T07:08:01.0745773Z       "requiredStages": [
2026-06-10T07:08:01.0746044Z         "impl",
2026-06-10T07:08:01.0746318Z         "unit"
2026-06-10T07:08:01.0746585Z       ],
2026-06-10T07:08:01.0746867Z       "stages": {
2026-06-10T07:08:01.0747144Z         "doc": {
2026-06-10T07:08:01.0747554Z           "complete": false,
2026-06-10T07:08:01.0747848Z           "evidence": []
2026-06-10T07:08:01.0751059Z         },
2026-06-10T07:08:01.0751392Z         "impl": {
2026-06-10T07:08:01.0751700Z           "complete": true,
2026-06-10T07:08:01.0751991Z           "evidence": [
2026-06-10T07:08:01.0752287Z             {
2026-06-10T07:08:01.0752687Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.0753139Z               "line": 714
2026-06-10T07:08:01.0753421Z             }
2026-06-10T07:08:01.0753702Z           ]
2026-06-10T07:08:01.0753988Z         },
2026-06-10T07:08:01.0754269Z         "int": {
2026-06-10T07:08:01.0754579Z           "complete": false,
2026-06-10T07:08:01.0754874Z           "evidence": []
2026-06-10T07:08:01.0755322Z         },
2026-06-10T07:08:01.0755738Z         "unit": {
2026-06-10T07:08:01.0756039Z           "complete": true,
2026-06-10T07:08:01.0756333Z           "evidence": [
2026-06-10T07:08:01.0756613Z             {
2026-06-10T07:08:01.0757012Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.0757312Z               "line": 828
2026-06-10T07:08:01.0757593Z             }
2026-06-10T07:08:01.0757869Z           ]
2026-06-10T07:08:01.0758146Z         }
2026-06-10T07:08:01.0758428Z       }
2026-06-10T07:08:01.0758709Z     },
2026-06-10T07:08:01.0759080Z     {
2026-06-10T07:08:01.0759419Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-10T07:08:01.0760093Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-10T07:08:01.0760393Z       "requiredStages": [
2026-06-10T07:08:01.0760666Z         "impl",
2026-06-10T07:08:01.0760951Z         "unit"
2026-06-10T07:08:01.0761224Z       ],
2026-06-10T07:08:01.0761506Z       "stages": {
2026-06-10T07:08:01.0761782Z         "doc": {
2026-06-10T07:08:01.0762075Z           "complete": false,
2026-06-10T07:08:01.0762359Z           "evidence": []
2026-06-10T07:08:01.0762636Z         },
2026-06-10T07:08:01.0762923Z         "impl": {
2026-06-10T07:08:01.0763223Z           "complete": true,
2026-06-10T07:08:01.0763523Z           "evidence": [
2026-06-10T07:08:01.0763800Z             {
2026-06-10T07:08:01.0764167Z               "path": "crates/spt/src/api/auth.rs",
2026-06-10T07:08:01.0764458Z               "line": 14
2026-06-10T07:08:01.0764735Z             },
2026-06-10T07:08:01.0765020Z             {
2026-06-10T07:08:01.0765363Z               "path": "crates/spt/src/api/mod.rs",
2026-06-10T07:08:01.0765668Z               "line": 411
2026-06-10T07:08:01.0765944Z             }
2026-06-10T07:08:01.0766225Z           ]
2026-06-10T07:08:01.0766497Z         },
2026-06-10T07:08:01.0766783Z         "int": {
2026-06-10T07:08:01.0767088Z           "complete": false,
2026-06-10T07:08:01.0767377Z           "evidence": []
2026-06-10T07:08:01.0767658Z         },
2026-06-10T07:08:01.0767935Z         "unit": {
2026-06-10T07:08:01.0768235Z           "complete": true,
2026-06-10T07:08:01.0768540Z           "evidence": [
2026-06-10T07:08:01.0768816Z             {
2026-06-10T07:08:01.0769307Z               "path": "crates/spt/src/api/auth.rs",
2026-06-10T07:08:01.0769621Z               "line": 130
2026-06-10T07:08:01.0769899Z             },
2026-06-10T07:08:01.0770184Z             {
2026-06-10T07:08:01.0770535Z               "path": "crates/spt/src/api/auth.rs",
2026-06-10T07:08:01.0770826Z               "line": 138
2026-06-10T07:08:01.0771107Z             },
2026-06-10T07:08:01.0771402Z             {
2026-06-10T07:08:01.0771747Z               "path": "crates/spt/src/api/auth.rs",
2026-06-10T07:08:01.0772052Z               "line": 146
2026-06-10T07:08:01.0772328Z             },
2026-06-10T07:08:01.0772607Z             {
2026-06-10T07:08:01.0772948Z               "path": "crates/spt/src/api/auth.rs",
2026-06-10T07:08:01.0773234Z               "line": 154
2026-06-10T07:08:01.0773520Z             },
2026-06-10T07:08:01.0773792Z             {
2026-06-10T07:08:01.0774145Z               "path": "crates/spt/src/api/auth.rs",
2026-06-10T07:08:01.0774432Z               "line": 162
2026-06-10T07:08:01.0774851Z             },
2026-06-10T07:08:01.0775137Z             {
2026-06-10T07:08:01.0775488Z               "path": "crates/spt/src/api/auth.rs",
2026-06-10T07:08:01.0775789Z               "line": 170
2026-06-10T07:08:01.0776066Z             }
2026-06-10T07:08:01.0776338Z           ]
2026-06-10T07:08:01.0776610Z         }
2026-06-10T07:08:01.0776892Z       }
2026-06-10T07:08:01.0777169Z     },
2026-06-10T07:08:01.0777545Z     {
2026-06-10T07:08:01.0777905Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-10T07:08:01.0780582Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-10T07:08:01.0780898Z       "requiredStages": [
2026-06-10T07:08:01.0781175Z         "impl",
2026-06-10T07:08:01.0781467Z         "unit"
2026-06-10T07:08:01.0781748Z       ],
2026-06-10T07:08:01.0782048Z       "stages": {
2026-06-10T07:08:01.0782331Z         "doc": {
2026-06-10T07:08:01.0782626Z           "complete": false,
2026-06-10T07:08:01.0782921Z           "evidence": []
2026-06-10T07:08:01.0783195Z         },
2026-06-10T07:08:01.0783480Z         "impl": {
2026-06-10T07:08:01.0783775Z           "complete": true,
2026-06-10T07:08:01.0784061Z           "evidence": [
2026-06-10T07:08:01.0784367Z             {
2026-06-10T07:08:01.0784820Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-10T07:08:01.0785110Z               "line": 34
2026-06-10T07:08:01.0785392Z             }
2026-06-10T07:08:01.0785678Z           ]
2026-06-10T07:08:01.0785958Z         },
2026-06-10T07:08:01.0786231Z         "int": {
2026-06-10T07:08:01.0786541Z           "complete": false,
2026-06-10T07:08:01.0786832Z           "evidence": []
2026-06-10T07:08:01.0787113Z         },
2026-06-10T07:08:01.0787394Z         "unit": {
2026-06-10T07:08:01.0787695Z           "complete": true,
2026-06-10T07:08:01.0787995Z           "evidence": [
2026-06-10T07:08:01.0788275Z             {
2026-06-10T07:08:01.0788720Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-10T07:08:01.0789103Z               "line": 188
2026-06-10T07:08:01.0789389Z             },
2026-06-10T07:08:01.0789665Z             {
2026-06-10T07:08:01.0790108Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-10T07:08:01.0790418Z               "line": 200
2026-06-10T07:08:01.0790695Z             },
2026-06-10T07:08:01.0790972Z             {
2026-06-10T07:08:01.0791411Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-10T07:08:01.0791708Z               "line": 211
2026-06-10T07:08:01.0791988Z             },
2026-06-10T07:08:01.0792261Z             {
2026-06-10T07:08:01.0792704Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-10T07:08:01.0792994Z               "line": 253
2026-06-10T07:08:01.0793266Z             },
2026-06-10T07:08:01.0793544Z             {
2026-06-10T07:08:01.0793978Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-10T07:08:01.0794274Z               "line": 277
2026-06-10T07:08:01.0794555Z             },
2026-06-10T07:08:01.0794832Z             {
2026-06-10T07:08:01.0795275Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-10T07:08:01.0795571Z               "line": 300
2026-06-10T07:08:01.0795847Z             },
2026-06-10T07:08:01.0796115Z             {
2026-06-10T07:08:01.0796566Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-10T07:08:01.0796847Z               "line": 316
2026-06-10T07:08:01.0797129Z             }
2026-06-10T07:08:01.0797401Z           ]
2026-06-10T07:08:01.0797683Z         }
2026-06-10T07:08:01.0797954Z       }
2026-06-10T07:08:01.0798235Z     },
2026-06-10T07:08:01.0798526Z     {
2026-06-10T07:08:01.0798877Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-10T07:08:01.0800630Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-10T07:08:01.0801055Z       "requiredStages": [
2026-06-10T07:08:01.0801340Z         "impl",
2026-06-10T07:08:01.0801612Z         "unit"
2026-06-10T07:08:01.0801887Z       ],
2026-06-10T07:08:01.0802182Z       "stages": {
2026-06-10T07:08:01.0802563Z         "doc": {
2026-06-10T07:08:01.0802868Z           "complete": false,
2026-06-10T07:08:01.0803155Z           "evidence": []
2026-06-10T07:08:01.0803436Z         },
2026-06-10T07:08:01.0803723Z         "impl": {
2026-06-10T07:08:01.0804018Z           "complete": true,
2026-06-10T07:08:01.0804330Z           "evidence": [
2026-06-10T07:08:01.0804609Z             {
2026-06-10T07:08:01.0804986Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0805272Z               "line": 29
2026-06-10T07:08:01.0805553Z             },
2026-06-10T07:08:01.0805839Z             {
2026-06-10T07:08:01.0806207Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0806502Z               "line": 174
2026-06-10T07:08:01.0806784Z             },
2026-06-10T07:08:01.0807060Z             {
2026-06-10T07:08:01.0807431Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0807732Z               "line": 194
2026-06-10T07:08:01.0808019Z             },
2026-06-10T07:08:01.0808304Z             {
2026-06-10T07:08:01.0808676Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0809038Z               "line": 222
2026-06-10T07:08:01.0809319Z             }
2026-06-10T07:08:01.0809585Z           ]
2026-06-10T07:08:01.0809865Z         },
2026-06-10T07:08:01.0810137Z         "int": {
2026-06-10T07:08:01.0810437Z           "complete": false,
2026-06-10T07:08:01.0810728Z           "evidence": []
2026-06-10T07:08:01.0811004Z         },
2026-06-10T07:08:01.0811286Z         "unit": {
2026-06-10T07:08:01.0811581Z           "complete": true,
2026-06-10T07:08:01.0811886Z           "evidence": [
2026-06-10T07:08:01.0812168Z             {
2026-06-10T07:08:01.0812537Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0812837Z               "line": 329
2026-06-10T07:08:01.0813114Z             },
2026-06-10T07:08:01.0813400Z             {
2026-06-10T07:08:01.0813767Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0814072Z               "line": 344
2026-06-10T07:08:01.0814364Z             },
2026-06-10T07:08:01.0814635Z             {
2026-06-10T07:08:01.0815010Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0815299Z               "line": 417
2026-06-10T07:08:01.0815580Z             },
2026-06-10T07:08:01.0815856Z             {
2026-06-10T07:08:01.0816224Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0816520Z               "line": 433
2026-06-10T07:08:01.0817245Z             },
2026-06-10T07:08:01.0817536Z             {
2026-06-10T07:08:01.0817931Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0818240Z               "line": 492
2026-06-10T07:08:01.0818521Z             },
2026-06-10T07:08:01.0818798Z             {
2026-06-10T07:08:01.0819246Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0819555Z               "line": 506
2026-06-10T07:08:01.0819832Z             },
2026-06-10T07:08:01.0820117Z             {
2026-06-10T07:08:01.0820488Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0820778Z               "line": 517
2026-06-10T07:08:01.0821059Z             },
2026-06-10T07:08:01.0821346Z             {
2026-06-10T07:08:01.0821708Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.0822004Z               "line": 528
2026-06-10T07:08:01.0822276Z             }
2026-06-10T07:08:01.0822557Z           ]
2026-06-10T07:08:01.0822836Z         }
2026-06-10T07:08:01.0823101Z       }
2026-06-10T07:08:01.0823374Z     },
2026-06-10T07:08:01.0823797Z     {
2026-06-10T07:08:01.0824174Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-10T07:08:01.0826092Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-10T07:08:01.0826397Z       "requiredStages": [
2026-06-10T07:08:01.0827156Z         "impl",
2026-06-10T07:08:01.0827447Z         "unit"
2026-06-10T07:08:01.0827715Z       ],
2026-06-10T07:08:01.0827995Z       "stages": {
2026-06-10T07:08:01.0828266Z         "doc": {
2026-06-10T07:08:01.0828561Z           "complete": false,
2026-06-10T07:08:01.0828857Z           "evidence": []
2026-06-10T07:08:01.0829223Z         },
2026-06-10T07:08:01.0829505Z         "impl": {
2026-06-10T07:08:01.0829843Z           "complete": true,
2026-06-10T07:08:01.0830134Z           "evidence": [
2026-06-10T07:08:01.0830401Z             {
2026-06-10T07:08:01.0830809Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.0831128Z               "line": 27
2026-06-10T07:08:01.0831414Z             },
2026-06-10T07:08:01.0831686Z             {
2026-06-10T07:08:01.0832095Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.0832382Z               "line": 110
2026-06-10T07:08:01.0832663Z             },
2026-06-10T07:08:01.0832945Z             {
2026-06-10T07:08:01.0833354Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.0833647Z               "line": 153
2026-06-10T07:08:01.0833924Z             },
2026-06-10T07:08:01.0834206Z             {
2026-06-10T07:08:01.0834620Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.0834910Z               "line": 182
2026-06-10T07:08:01.0835187Z             },
2026-06-10T07:08:01.0835474Z             {
2026-06-10T07:08:01.0835925Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-10T07:08:01.0836224Z               "line": 31
2026-06-10T07:08:01.0836505Z             },
2026-06-10T07:08:01.0836777Z             {
2026-06-10T07:08:01.0837229Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-10T07:08:01.0837516Z               "line": 113
2026-06-10T07:08:01.0837797Z             },
2026-06-10T07:08:01.0838078Z             {
2026-06-10T07:08:01.0838521Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-10T07:08:01.0838821Z               "line": 138
2026-06-10T07:08:01.0839178Z             }
2026-06-10T07:08:01.0839474Z           ]
2026-06-10T07:08:01.0839746Z         },
2026-06-10T07:08:01.0840027Z         "int": {
2026-06-10T07:08:01.0840337Z           "complete": false,
2026-06-10T07:08:01.0840628Z           "evidence": []
2026-06-10T07:08:01.0840906Z         },
2026-06-10T07:08:01.0841190Z         "unit": {
2026-06-10T07:08:01.0841488Z           "complete": true,
2026-06-10T07:08:01.0841774Z           "evidence": [
2026-06-10T07:08:01.0842055Z             {
2026-06-10T07:08:01.0842476Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.0842771Z               "line": 261
2026-06-10T07:08:01.0843052Z             },
2026-06-10T07:08:01.0843323Z             {
2026-06-10T07:08:01.0843730Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.0844014Z               "line": 276
2026-06-10T07:08:01.0844302Z             },
2026-06-10T07:08:01.0844579Z             {
2026-06-10T07:08:01.0844980Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.0845275Z               "line": 293
2026-06-10T07:08:01.0845552Z             },
2026-06-10T07:08:01.0845833Z             {
2026-06-10T07:08:01.0846244Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.0846528Z               "line": 310
2026-06-10T07:08:01.0846812Z             },
2026-06-10T07:08:01.0847089Z             {
2026-06-10T07:08:01.0847508Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.0847923Z               "line": 327
2026-06-10T07:08:01.0848205Z             },
2026-06-10T07:08:01.0848486Z             {
2026-06-10T07:08:01.0848887Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.0849263Z               "line": 366
2026-06-10T07:08:01.0849544Z             },
2026-06-10T07:08:01.0849825Z             {
2026-06-10T07:08:01.0850367Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-10T07:08:01.0850663Z               "line": 179
2026-06-10T07:08:01.0850946Z             },
2026-06-10T07:08:01.0851221Z             {
2026-06-10T07:08:01.0851663Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-10T07:08:01.0851948Z               "line": 194
2026-06-10T07:08:01.0852224Z             },
2026-06-10T07:08:01.0852497Z             {
2026-06-10T07:08:01.0852939Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-10T07:08:01.0853225Z               "line": 204
2026-06-10T07:08:01.0853516Z             },
2026-06-10T07:08:01.0853802Z             {
2026-06-10T07:08:01.0854242Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-10T07:08:01.0854535Z               "line": 259
2026-06-10T07:08:01.0854815Z             },
2026-06-10T07:08:01.0855082Z             {
2026-06-10T07:08:01.0855525Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-10T07:08:01.0855820Z               "line": 269
2026-06-10T07:08:01.0856102Z             },
2026-06-10T07:08:01.0856369Z             {
2026-06-10T07:08:01.0856819Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-10T07:08:01.0857121Z               "line": 283
2026-06-10T07:08:01.0857386Z             }
2026-06-10T07:08:01.0857658Z           ]
2026-06-10T07:08:01.0857935Z         }
2026-06-10T07:08:01.0858202Z       }
2026-06-10T07:08:01.0858470Z     },
2026-06-10T07:08:01.0858745Z     {
2026-06-10T07:08:01.0859241Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-10T07:08:01.0859842Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-10T07:08:01.0860137Z       "requiredStages": [],
2026-06-10T07:08:01.0860419Z       "stages": {
2026-06-10T07:08:01.0860700Z         "doc": {
2026-06-10T07:08:01.0860995Z           "complete": false,
2026-06-10T07:08:01.0861281Z           "evidence": []
2026-06-10T07:08:01.0861562Z         },
2026-06-10T07:08:01.0861839Z         "impl": {
2026-06-10T07:08:01.0862138Z           "complete": false,
2026-06-10T07:08:01.0862418Z           "evidence": []
2026-06-10T07:08:01.0862699Z         },
2026-06-10T07:08:01.0862971Z         "int": {
2026-06-10T07:08:01.0863262Z           "complete": false,
2026-06-10T07:08:01.0863553Z           "evidence": []
2026-06-10T07:08:01.0863814Z         },
2026-06-10T07:08:01.0864095Z         "unit": {
2026-06-10T07:08:01.0864382Z           "complete": false,
2026-06-10T07:08:01.0864672Z           "evidence": []
2026-06-10T07:08:01.0864936Z         }
2026-06-10T07:08:01.0865216Z       }
2026-06-10T07:08:01.0865485Z     },
2026-06-10T07:08:01.0865751Z     {
2026-06-10T07:08:01.0866119Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-10T07:08:01.0868495Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-10T07:08:01.0868819Z       "requiredStages": [
2026-06-10T07:08:01.0869177Z         "impl",
2026-06-10T07:08:01.0869477Z         "unit"
2026-06-10T07:08:01.0869753Z       ],
2026-06-10T07:08:01.0870031Z       "stages": {
2026-06-10T07:08:01.0870299Z         "doc": {
2026-06-10T07:08:01.0870591Z           "complete": false,
2026-06-10T07:08:01.0870878Z           "evidence": []
2026-06-10T07:08:01.0871158Z         },
2026-06-10T07:08:01.0871436Z         "impl": {
2026-06-10T07:08:01.0871732Z           "complete": true,
2026-06-10T07:08:01.0872156Z           "evidence": [
2026-06-10T07:08:01.0872437Z             {
2026-06-10T07:08:01.0872822Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.0873111Z               "line": 26
2026-06-10T07:08:01.0873392Z             },
2026-06-10T07:08:01.0873660Z             {
2026-06-10T07:08:01.0874050Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.0874456Z               "line": 95
2026-06-10T07:08:01.0874737Z             },
2026-06-10T07:08:01.0875008Z             {
2026-06-10T07:08:01.0875420Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.0875709Z               "line": 166
2026-06-10T07:08:01.0875987Z             },
2026-06-10T07:08:01.0876259Z             {
2026-06-10T07:08:01.0876631Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-10T07:08:01.0876922Z               "line": 19
2026-06-10T07:08:01.0877198Z             },
2026-06-10T07:08:01.0877479Z             {
2026-06-10T07:08:01.0877871Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-10T07:08:01.0878161Z               "line": 50
2026-06-10T07:08:01.0878444Z             },
2026-06-10T07:08:01.0878717Z             {
2026-06-10T07:08:01.0879160Z               "path": "crates/spt-live/src/turn.rs",
2026-06-10T07:08:01.0879450Z               "line": 18
2026-06-10T07:08:01.0879727Z             },
2026-06-10T07:08:01.0880013Z             {
2026-06-10T07:08:01.0880371Z               "path": "crates/spt-live/src/turn.rs",
2026-06-10T07:08:01.0880671Z               "line": 71
2026-06-10T07:08:01.0880948Z             },
2026-06-10T07:08:01.0881229Z             {
2026-06-10T07:08:01.0881591Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:01.0881882Z               "line": 70
2026-06-10T07:08:01.0882168Z             }
2026-06-10T07:08:01.0882445Z           ]
2026-06-10T07:08:01.0882726Z         },
2026-06-10T07:08:01.0883002Z         "int": {
2026-06-10T07:08:01.0883301Z           "complete": false,
2026-06-10T07:08:01.0883604Z           "evidence": []
2026-06-10T07:08:01.0883886Z         },
2026-06-10T07:08:01.0884167Z         "unit": {
2026-06-10T07:08:01.0884468Z           "complete": true,
2026-06-10T07:08:01.0884763Z           "evidence": [
2026-06-10T07:08:01.0885035Z             {
2026-06-10T07:08:01.0885421Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.0885708Z               "line": 289
2026-06-10T07:08:01.0885994Z             },
2026-06-10T07:08:01.0886288Z             {
2026-06-10T07:08:01.0886668Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.0886963Z               "line": 308
2026-06-10T07:08:01.0887249Z             },
2026-06-10T07:08:01.0887583Z             {
2026-06-10T07:08:01.0887955Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.0888359Z               "line": 336
2026-06-10T07:08:01.0888646Z             },
2026-06-10T07:08:01.0888930Z             {
2026-06-10T07:08:01.0889391Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.0889691Z               "line": 399
2026-06-10T07:08:01.0889977Z             },
2026-06-10T07:08:01.0890254Z             {
2026-06-10T07:08:01.0890635Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.0890931Z               "line": 410
2026-06-10T07:08:01.0891212Z             },
2026-06-10T07:08:01.0891494Z             {
2026-06-10T07:08:01.0891884Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.0892170Z               "line": 441
2026-06-10T07:08:01.0892456Z             },
2026-06-10T07:08:01.0892729Z             {
2026-06-10T07:08:01.0893114Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.0893405Z               "line": 452
2026-06-10T07:08:01.0893678Z             },
2026-06-10T07:08:01.0893952Z             {
2026-06-10T07:08:01.0894331Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-10T07:08:01.0894623Z               "line": 77
2026-06-10T07:08:01.0895004Z             },
2026-06-10T07:08:01.0895290Z             {
2026-06-10T07:08:01.0895652Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-10T07:08:01.0895939Z               "line": 97
2026-06-10T07:08:01.0896216Z             },
2026-06-10T07:08:01.0896483Z             {
2026-06-10T07:08:01.0896858Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-10T07:08:01.0897242Z               "line": 112
2026-06-10T07:08:01.0897528Z             },
2026-06-10T07:08:01.0897795Z             {
2026-06-10T07:08:01.0898167Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-10T07:08:01.0898458Z               "line": 123
2026-06-10T07:08:01.0898739Z             },
2026-06-10T07:08:01.0899088Z             {
2026-06-10T07:08:01.0899453Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-10T07:08:01.0899741Z               "line": 130
2026-06-10T07:08:01.0900013Z             },
2026-06-10T07:08:01.0900294Z             {
2026-06-10T07:08:01.0900657Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-10T07:08:01.0900957Z               "line": 145
2026-06-10T07:08:01.0901248Z             },
2026-06-10T07:08:01.0901520Z             {
2026-06-10T07:08:01.0901873Z               "path": "crates/spt-live/src/turn.rs",
2026-06-10T07:08:01.0902163Z               "line": 115
2026-06-10T07:08:01.0902444Z             },
2026-06-10T07:08:01.0902721Z             {
2026-06-10T07:08:01.0903083Z               "path": "crates/spt-live/src/turn.rs",
2026-06-10T07:08:01.0903378Z               "line": 130
2026-06-10T07:08:01.0903655Z             },
2026-06-10T07:08:01.0903937Z             {
2026-06-10T07:08:01.0904299Z               "path": "crates/spt-proto/src/event.rs",
2026-06-10T07:08:01.0904593Z               "line": 336
2026-06-10T07:08:01.0904868Z             }
2026-06-10T07:08:01.0905158Z           ]
2026-06-10T07:08:01.0905454Z         }
2026-06-10T07:08:01.0905730Z       }
2026-06-10T07:08:01.0906026Z     },
2026-06-10T07:08:01.0906293Z     {
2026-06-10T07:08:01.0906670Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-10T07:08:01.0907455Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-10T07:08:01.0907763Z       "requiredStages": [
2026-06-10T07:08:01.0908055Z         "impl",
2026-06-10T07:08:01.0908331Z         "unit"
2026-06-10T07:08:01.0908611Z       ],
2026-06-10T07:08:01.0908898Z       "stages": {
2026-06-10T07:08:01.0909270Z         "doc": {
2026-06-10T07:08:01.0909570Z           "complete": true,
2026-06-10T07:08:01.0909865Z           "evidence": [
2026-06-10T07:08:01.0910144Z             {
2026-06-10T07:08:01.0910482Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.0910778Z               "line": 139
2026-06-10T07:08:01.0911055Z             }
2026-06-10T07:08:01.0911341Z           ]
2026-06-10T07:08:01.0911614Z         },
2026-06-10T07:08:01.0911895Z         "impl": {
2026-06-10T07:08:01.0912186Z           "complete": true,
2026-06-10T07:08:01.0912471Z           "evidence": [
2026-06-10T07:08:01.0912747Z             {
2026-06-10T07:08:01.0913085Z               "path": "crates/spt-store/src/db.rs",
2026-06-10T07:08:01.0913380Z               "line": 29
2026-06-10T07:08:01.0913662Z             },
2026-06-10T07:08:01.0913929Z             {
2026-06-10T07:08:01.0914287Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.0914572Z               "line": 101
2026-06-10T07:08:01.0914859Z             },
2026-06-10T07:08:01.0915135Z             {
2026-06-10T07:08:01.0915514Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.0915800Z               "line": 30
2026-06-10T07:08:01.0916072Z             },
2026-06-10T07:08:01.0916353Z             {
2026-06-10T07:08:01.0916716Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.0916997Z               "line": 48
2026-06-10T07:08:01.0917268Z             }
2026-06-10T07:08:01.0917550Z           ]
2026-06-10T07:08:01.0917821Z         },
2026-06-10T07:08:01.0918090Z         "int": {
2026-06-10T07:08:01.0918528Z           "complete": false,
2026-06-10T07:08:01.0918814Z           "evidence": []
2026-06-10T07:08:01.0919171Z         },
2026-06-10T07:08:01.0919454Z         "unit": {
2026-06-10T07:08:01.0919754Z           "complete": true,
2026-06-10T07:08:01.0920044Z           "evidence": [
2026-06-10T07:08:01.0920322Z             {
2026-06-10T07:08:01.0920695Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.0921090Z               "line": 162
2026-06-10T07:08:01.0921367Z             }
2026-06-10T07:08:01.0921639Z           ]
2026-06-10T07:08:01.0921906Z         }
2026-06-10T07:08:01.0922183Z       }
2026-06-10T07:08:01.0922455Z     },
2026-06-10T07:08:01.0922731Z     {
2026-06-10T07:08:01.0923080Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-10T07:08:01.0924136Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-10T07:08:01.0924451Z       "requiredStages": [
2026-06-10T07:08:01.0924748Z         "doc",
2026-06-10T07:08:01.0925029Z         "impl",
2026-06-10T07:08:01.0925310Z         "unit"
2026-06-10T07:08:01.0925594Z       ],
2026-06-10T07:08:01.0925873Z       "stages": {
2026-06-10T07:08:01.0926155Z         "doc": {
2026-06-10T07:08:01.0926450Z           "complete": true,
2026-06-10T07:08:01.0926742Z           "evidence": [
2026-06-10T07:08:01.0927018Z             {
2026-06-10T07:08:01.0927380Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.0927680Z               "line": 151
2026-06-10T07:08:01.0927958Z             }
2026-06-10T07:08:01.0928245Z           ]
2026-06-10T07:08:01.0928523Z         },
2026-06-10T07:08:01.0928812Z         "impl": {
2026-06-10T07:08:01.0929203Z           "complete": true,
2026-06-10T07:08:01.0929495Z           "evidence": [
2026-06-10T07:08:01.0929780Z             {
2026-06-10T07:08:01.0930167Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.0930463Z               "line": 22
2026-06-10T07:08:01.0930754Z             }
2026-06-10T07:08:01.0931037Z           ]
2026-06-10T07:08:01.0931321Z         },
2026-06-10T07:08:01.0931607Z         "int": {
2026-06-10T07:08:01.0931913Z           "complete": false,
2026-06-10T07:08:01.0932204Z           "evidence": []
2026-06-10T07:08:01.0932490Z         },
2026-06-10T07:08:01.0932776Z         "unit": {
2026-06-10T07:08:01.0933082Z           "complete": true,
2026-06-10T07:08:01.0933387Z           "evidence": [
2026-06-10T07:08:01.0933668Z             {
2026-06-10T07:08:01.0934068Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.0934354Z               "line": 298
2026-06-10T07:08:01.0934640Z             }
2026-06-10T07:08:01.0934916Z           ]
2026-06-10T07:08:01.0935197Z         }
2026-06-10T07:08:01.0935478Z       }
2026-06-10T07:08:01.0935750Z     },
2026-06-10T07:08:01.0936031Z     {
2026-06-10T07:08:01.0936390Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-10T07:08:01.0937631Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-10T07:08:01.0937935Z       "requiredStages": [
2026-06-10T07:08:01.0938226Z         "impl",
2026-06-10T07:08:01.0938504Z         "unit"
2026-06-10T07:08:01.0938776Z       ],
2026-06-10T07:08:01.0939136Z       "stages": {
2026-06-10T07:08:01.0939420Z         "doc": {
2026-06-10T07:08:01.0939720Z           "complete": true,
2026-06-10T07:08:01.0940011Z           "evidence": [
2026-06-10T07:08:01.0940292Z             {
2026-06-10T07:08:01.0940635Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.0940922Z               "line": 145
2026-06-10T07:08:01.0941203Z             }
2026-06-10T07:08:01.0941484Z           ]
2026-06-10T07:08:01.0941759Z         },
2026-06-10T07:08:01.0942035Z         "impl": {
2026-06-10T07:08:01.0942340Z           "complete": true,
2026-06-10T07:08:01.0942636Z           "evidence": [
2026-06-10T07:08:01.0942912Z             {
2026-06-10T07:08:01.0943441Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.0943731Z               "line": 540
2026-06-10T07:08:01.0944017Z             },
2026-06-10T07:08:01.0944295Z             {
2026-06-10T07:08:01.0944708Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.0945004Z               "line": 184
2026-06-10T07:08:01.0945280Z             },
2026-06-10T07:08:01.0945658Z             {
2026-06-10T07:08:01.0946038Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.0946334Z               "line": 282
2026-06-10T07:08:01.0946615Z             },
2026-06-10T07:08:01.0946894Z             {
2026-06-10T07:08:01.0947260Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-10T07:08:01.0947547Z               "line": 15
2026-06-10T07:08:01.0947838Z             }
2026-06-10T07:08:01.0948115Z           ]
2026-06-10T07:08:01.0948401Z         },
2026-06-10T07:08:01.0948678Z         "int": {
2026-06-10T07:08:01.0949059Z           "complete": false,
2026-06-10T07:08:01.0949379Z           "evidence": []
2026-06-10T07:08:01.0949653Z         },
2026-06-10T07:08:01.0949937Z         "unit": {
2026-06-10T07:08:01.0950237Z           "complete": true,
2026-06-10T07:08:01.0950533Z           "evidence": [
2026-06-10T07:08:01.0950809Z             {
2026-06-10T07:08:01.0951220Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.0951525Z               "line": 856
2026-06-10T07:08:01.0951802Z             },
2026-06-10T07:08:01.0952082Z             {
2026-06-10T07:08:01.0952489Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-10T07:08:01.0952784Z               "line": 88
2026-06-10T07:08:01.0953057Z             },
2026-06-10T07:08:01.0953338Z             {
2026-06-10T07:08:01.0953729Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.0954020Z               "line": 802
2026-06-10T07:08:01.0954301Z             },
2026-06-10T07:08:01.0954582Z             {
2026-06-10T07:08:01.0954987Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.0955282Z               "line": 821
2026-06-10T07:08:01.0955560Z             },
2026-06-10T07:08:01.0955860Z             {
2026-06-10T07:08:01.0956399Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.0956719Z               "line": 278
2026-06-10T07:08:01.0957000Z             },
2026-06-10T07:08:01.0957293Z             {
2026-06-10T07:08:01.0957668Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-10T07:08:01.0957954Z               "line": 77
2026-06-10T07:08:01.0958244Z             },
2026-06-10T07:08:01.0958526Z             {
2026-06-10T07:08:01.0958893Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-10T07:08:01.0959281Z               "line": 94
2026-06-10T07:08:01.0959567Z             },
2026-06-10T07:08:01.0959858Z             {
2026-06-10T07:08:01.0960218Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-10T07:08:01.0960516Z               "line": 114
2026-06-10T07:08:01.0960797Z             }
2026-06-10T07:08:01.0964671Z           ]
2026-06-10T07:08:01.0965030Z         }
2026-06-10T07:08:01.0965424Z       }
2026-06-10T07:08:01.0965710Z     },
2026-06-10T07:08:01.0965986Z     {
2026-06-10T07:08:01.0966358Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-10T07:08:01.0970255Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-10T07:08:01.0970597Z       "requiredStages": [
2026-06-10T07:08:01.0970882Z         "doc",
2026-06-10T07:08:01.0971158Z         "impl",
2026-06-10T07:08:01.0971444Z         "unit"
2026-06-10T07:08:01.0971721Z       ],
2026-06-10T07:08:01.0972216Z       "stages": {
2026-06-10T07:08:01.0972492Z         "doc": {
2026-06-10T07:08:01.0972793Z           "complete": true,
2026-06-10T07:08:01.0973080Z           "evidence": [
2026-06-10T07:08:01.0973354Z             {
2026-06-10T07:08:01.0973701Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.0973987Z               "line": 157
2026-06-10T07:08:01.0974258Z             }
2026-06-10T07:08:01.0974641Z           ]
2026-06-10T07:08:01.0974912Z         },
2026-06-10T07:08:01.0975546Z         "impl": {
2026-06-10T07:08:01.0975847Z           "complete": true,
2026-06-10T07:08:01.0976140Z           "evidence": [
2026-06-10T07:08:01.0976412Z             {
2026-06-10T07:08:01.0976803Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.0977093Z               "line": 394
2026-06-10T07:08:01.0977370Z             },
2026-06-10T07:08:01.0977642Z             {
2026-06-10T07:08:01.0978052Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.0978371Z               "line": 484
2026-06-10T07:08:01.0978631Z             },
2026-06-10T07:08:01.0978904Z             {
2026-06-10T07:08:01.0979399Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.0979694Z               "line": 491
2026-06-10T07:08:01.0979970Z             },
2026-06-10T07:08:01.0980238Z             {
2026-06-10T07:08:01.0980619Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.0980910Z               "line": 211
2026-06-10T07:08:01.0981181Z             }
2026-06-10T07:08:01.0981456Z           ]
2026-06-10T07:08:01.0981723Z         },
2026-06-10T07:08:01.0982004Z         "int": {
2026-06-10T07:08:01.0982300Z           "complete": false,
2026-06-10T07:08:01.0982580Z           "evidence": []
2026-06-10T07:08:01.0982852Z         },
2026-06-10T07:08:01.0983133Z         "unit": {
2026-06-10T07:08:01.0983429Z           "complete": true,
2026-06-10T07:08:01.0983719Z           "evidence": [
2026-06-10T07:08:01.0984009Z             {
2026-06-10T07:08:01.0984403Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.0984703Z               "line": 1484
2026-06-10T07:08:01.0984971Z             },
2026-06-10T07:08:01.0985257Z             {
2026-06-10T07:08:01.0985657Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.0985938Z               "line": 1542
2026-06-10T07:08:01.0986211Z             },
2026-06-10T07:08:01.0986479Z             {
2026-06-10T07:08:01.0986864Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.0987145Z               "line": 834
2026-06-10T07:08:01.0987422Z             }
2026-06-10T07:08:01.0987688Z           ]
2026-06-10T07:08:01.0987969Z         }
2026-06-10T07:08:01.0988241Z       }
2026-06-10T07:08:01.0988512Z     },
2026-06-10T07:08:01.0988794Z     {
2026-06-10T07:08:01.0989229Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-10T07:08:01.0989835Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-10T07:08:01.0990144Z       "requiredStages": [
2026-06-10T07:08:01.0990417Z         "impl",
2026-06-10T07:08:01.0990707Z         "unit"
2026-06-10T07:08:01.0990985Z       ],
2026-06-10T07:08:01.0991271Z       "stages": {
2026-06-10T07:08:01.0991543Z         "doc": {
2026-06-10T07:08:01.0991850Z           "complete": false,
2026-06-10T07:08:01.0992134Z           "evidence": []
2026-06-10T07:08:01.0992411Z         },
2026-06-10T07:08:01.0992707Z         "impl": {
2026-06-10T07:08:01.0992998Z           "complete": true,
2026-06-10T07:08:01.0993293Z           "evidence": [
2026-06-10T07:08:01.0993575Z             {
2026-06-10T07:08:01.0993937Z               "path": "crates/spt-store/src/proc.rs",
2026-06-10T07:08:01.0994233Z               "line": 15
2026-06-10T07:08:01.0994513Z             },
2026-06-10T07:08:01.0994797Z             {
2026-06-10T07:08:01.0995169Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.0995465Z               "line": 55
2026-06-10T07:08:01.0995879Z             },
2026-06-10T07:08:01.0996169Z             {
2026-06-10T07:08:01.0996547Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.0996837Z               "line": 66
2026-06-10T07:08:01.0997133Z             },
2026-06-10T07:08:01.0997409Z             {
2026-06-10T07:08:01.0997790Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.0998200Z               "line": 115
2026-06-10T07:08:01.0998481Z             },
2026-06-10T07:08:01.0998763Z             {
2026-06-10T07:08:01.0999226Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.0999742Z               "line": 138
2026-06-10T07:08:01.1000032Z             }
2026-06-10T07:08:01.1000310Z           ]
2026-06-10T07:08:01.1000591Z         },
2026-06-10T07:08:01.1000873Z         "int": {
2026-06-10T07:08:01.1001178Z           "complete": false,
2026-06-10T07:08:01.1001463Z           "evidence": []
2026-06-10T07:08:01.1001744Z         },
2026-06-10T07:08:01.1002040Z         "unit": {
2026-06-10T07:08:01.1002339Z           "complete": true,
2026-06-10T07:08:01.1002623Z           "evidence": [
2026-06-10T07:08:01.1002905Z             {
2026-06-10T07:08:01.1003267Z               "path": "crates/spt-store/src/proc.rs",
2026-06-10T07:08:01.1003563Z               "line": 149
2026-06-10T07:08:01.1003882Z             },
2026-06-10T07:08:01.1004159Z             {
2026-06-10T07:08:01.1004525Z               "path": "crates/spt-store/src/proc.rs",
2026-06-10T07:08:01.1004817Z               "line": 155
2026-06-10T07:08:01.1005096Z             },
2026-06-10T07:08:01.1005376Z             {
2026-06-10T07:08:01.1005734Z               "path": "crates/spt-store/src/proc.rs",
2026-06-10T07:08:01.1006034Z               "line": 169
2026-06-10T07:08:01.1006311Z             },
2026-06-10T07:08:01.1006587Z             {
2026-06-10T07:08:01.1006945Z               "path": "crates/spt-store/src/proc.rs",
2026-06-10T07:08:01.1007237Z               "line": 178
2026-06-10T07:08:01.1007522Z             },
2026-06-10T07:08:01.1007811Z             {
2026-06-10T07:08:01.1008317Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.1008661Z               "line": 195
2026-06-10T07:08:01.1009041Z             },
2026-06-10T07:08:01.1009318Z             {
2026-06-10T07:08:01.1009699Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.1010004Z               "line": 208
2026-06-10T07:08:01.1010287Z             },
2026-06-10T07:08:01.1010574Z             {
2026-06-10T07:08:01.1010945Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.1011227Z               "line": 271
2026-06-10T07:08:01.1011494Z             },
2026-06-10T07:08:01.1011785Z             {
2026-06-10T07:08:01.1012161Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.1012448Z               "line": 290
2026-06-10T07:08:01.1012725Z             },
2026-06-10T07:08:01.1013047Z             {
2026-06-10T07:08:01.1013418Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.1013713Z               "line": 319
2026-06-10T07:08:01.1013999Z             }
2026-06-10T07:08:01.1014280Z           ]
2026-06-10T07:08:01.1014556Z         }
2026-06-10T07:08:01.1014837Z       }
2026-06-10T07:08:01.1015114Z     },
2026-06-10T07:08:01.1015391Z     {
2026-06-10T07:08:01.1015736Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-10T07:08:01.1016566Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-10T07:08:01.1016876Z       "requiredStages": [
2026-06-10T07:08:01.1017157Z         "impl",
2026-06-10T07:08:01.1017447Z         "unit",
2026-06-10T07:08:01.1017729Z         "int"
2026-06-10T07:08:01.1018001Z       ],
2026-06-10T07:08:01.1018290Z       "stages": {
2026-06-10T07:08:01.1018573Z         "doc": {
2026-06-10T07:08:01.1018872Z           "complete": false,
2026-06-10T07:08:01.1019254Z           "evidence": []
2026-06-10T07:08:01.1019535Z         },
2026-06-10T07:08:01.1019940Z         "impl": {
2026-06-10T07:08:01.1020245Z           "complete": true,
2026-06-10T07:08:01.1020531Z           "evidence": [
2026-06-10T07:08:01.1020810Z             {
2026-06-10T07:08:01.1021186Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.1021477Z               "line": 302
2026-06-10T07:08:01.1021763Z             },
2026-06-10T07:08:01.1022035Z             {
2026-06-10T07:08:01.1022516Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.1022798Z               "line": 684
2026-06-10T07:08:01.1023074Z             },
2026-06-10T07:08:01.1023360Z             {
2026-06-10T07:08:01.1023719Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.1024020Z               "line": 707
2026-06-10T07:08:01.1024288Z             },
2026-06-10T07:08:01.1024564Z             {
2026-06-10T07:08:01.1024926Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.1025213Z               "line": 731
2026-06-10T07:08:01.1025509Z             },
2026-06-10T07:08:01.1025771Z             {
2026-06-10T07:08:01.1026136Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.1026414Z               "line": 607
2026-06-10T07:08:01.1026686Z             },
2026-06-10T07:08:01.1026963Z             {
2026-06-10T07:08:01.1027334Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.1027630Z               "line": 719
2026-06-10T07:08:01.1027917Z             },
2026-06-10T07:08:01.1028198Z             {
2026-06-10T07:08:01.1028571Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.1028865Z               "line": 829
2026-06-10T07:08:01.1029231Z             },
2026-06-10T07:08:01.1029504Z             {
2026-06-10T07:08:01.1029875Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.1030162Z               "line": 877
2026-06-10T07:08:01.1030448Z             },
2026-06-10T07:08:01.1030724Z             {
2026-06-10T07:08:01.1031105Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-10T07:08:01.1031417Z               "line": 46
2026-06-10T07:08:01.1031695Z             },
2026-06-10T07:08:01.1031985Z             {
2026-06-10T07:08:01.1032348Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-10T07:08:01.1032643Z               "line": 167
2026-06-10T07:08:01.1032920Z             },
2026-06-10T07:08:01.1033197Z             {
2026-06-10T07:08:01.1033568Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-10T07:08:01.1033860Z               "line": 71
2026-06-10T07:08:01.1034139Z             },
2026-06-10T07:08:01.1034423Z             {
2026-06-10T07:08:01.1034786Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.1035081Z               "line": 134
2026-06-10T07:08:01.1035357Z             },
2026-06-10T07:08:01.1035648Z             {
2026-06-10T07:08:01.1035991Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.1036287Z               "line": 180
2026-06-10T07:08:01.1036563Z             }
2026-06-10T07:08:01.1036856Z           ]
2026-06-10T07:08:01.1037129Z         },
2026-06-10T07:08:01.1037410Z         "int": {
2026-06-10T07:08:01.1037714Z           "complete": true,
2026-06-10T07:08:01.1038001Z           "evidence": [
2026-06-10T07:08:01.1038287Z             {
2026-06-10T07:08:01.1038692Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-10T07:08:01.1039054Z               "line": 27
2026-06-10T07:08:01.1039331Z             },
2026-06-10T07:08:01.1039616Z             {
2026-06-10T07:08:01.1040017Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-10T07:08:01.1040307Z               "line": 129
2026-06-10T07:08:01.1040589Z             },
2026-06-10T07:08:01.1040866Z             {
2026-06-10T07:08:01.1041266Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-10T07:08:01.1041562Z               "line": 200
2026-06-10T07:08:01.1041841Z             }
2026-06-10T07:08:01.1042125Z           ]
2026-06-10T07:08:01.1042401Z         },
2026-06-10T07:08:01.1042798Z         "unit": {
2026-06-10T07:08:01.1043099Z           "complete": true,
2026-06-10T07:08:01.1043394Z           "evidence": [
2026-06-10T07:08:01.1043675Z             {
2026-06-10T07:08:01.1044052Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-10T07:08:01.1044344Z               "line": 313
2026-06-10T07:08:01.1044622Z             },
2026-06-10T07:08:01.1045006Z             {
2026-06-10T07:08:01.1045384Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-10T07:08:01.1045675Z               "line": 345
2026-06-10T07:08:01.1045970Z             },
2026-06-10T07:08:01.1046241Z             {
2026-06-10T07:08:01.1046615Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-10T07:08:01.1046905Z               "line": 366
2026-06-10T07:08:01.1047189Z             },
2026-06-10T07:08:01.1047454Z             {
2026-06-10T07:08:01.1047840Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-10T07:08:01.1048135Z               "line": 254
2026-06-10T07:08:01.1048417Z             },
2026-06-10T07:08:01.1048713Z             {
2026-06-10T07:08:01.1049177Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-10T07:08:01.1049472Z               "line": 239
2026-06-10T07:08:01.1049753Z             },
2026-06-10T07:08:01.1050037Z             {
2026-06-10T07:08:01.1050414Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-10T07:08:01.1050714Z               "line": 230
2026-06-10T07:08:01.1050995Z             },
2026-06-10T07:08:01.1051273Z             {
2026-06-10T07:08:01.1051634Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.1051921Z               "line": 488
2026-06-10T07:08:01.1052197Z             },
2026-06-10T07:08:01.1052477Z             {
2026-06-10T07:08:01.1052829Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.1053114Z               "line": 518
2026-06-10T07:08:01.1053392Z             }
2026-06-10T07:08:01.1053668Z           ]
2026-06-10T07:08:01.1053949Z         }
2026-06-10T07:08:01.1054220Z       }
2026-06-10T07:08:01.1054497Z     },
2026-06-10T07:08:01.1054768Z     {
2026-06-10T07:08:01.1055140Z       "id": "REQ-HAZARD-ROLLBACK-STATE-COMPAT",
2026-06-10T07:08:01.1060032Z       "title": "A brain must not irreversibly migrate durable state before update ready-promotion: the readiness-gated auto-rollback (ADR-0018 Q7) spawns the N-1 binary against durable state the new brain may have written, so every pre-ready write must stay N-1-readable (schema migrations gated behind ready-promotion, or written N-1-tolerant/additive). Else the first in-place schema migration silently bricks rollback (KNOWN-HAZARDS 6.8). Free now — a 2026-06-09 audit confirmed zero state-migration code exists; unmintable retroactively once a migration ships.",
2026-06-10T07:08:01.1060366Z       "requiredStages": [
2026-06-10T07:08:01.1060655Z         "doc"
2026-06-10T07:08:01.1060931Z       ],
2026-06-10T07:08:01.1061227Z       "stages": {
2026-06-10T07:08:01.1061504Z         "doc": {
2026-06-10T07:08:01.1061823Z           "complete": true,
2026-06-10T07:08:01.1062118Z           "evidence": [
2026-06-10T07:08:01.1062396Z             {
2026-06-10T07:08:01.1062743Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.1063032Z               "line": 296
2026-06-10T07:08:01.1063323Z             }
2026-06-10T07:08:01.1063598Z           ]
2026-06-10T07:08:01.1063875Z         },
2026-06-10T07:08:01.1064185Z         "impl": {
2026-06-10T07:08:01.1064480Z           "complete": false,
2026-06-10T07:08:01.1064776Z           "evidence": []
2026-06-10T07:08:01.1065052Z         },
2026-06-10T07:08:01.1065338Z         "int": {
2026-06-10T07:08:01.1065638Z           "complete": false,
2026-06-10T07:08:01.1065993Z           "evidence": []
2026-06-10T07:08:01.1066275Z         },
2026-06-10T07:08:01.1066542Z         "unit": {
2026-06-10T07:08:01.1066838Z           "complete": false,
2026-06-10T07:08:01.1067129Z           "evidence": []
2026-06-10T07:08:01.1067405Z         }
2026-06-10T07:08:01.1067792Z       }
2026-06-10T07:08:01.1068078Z     },
2026-06-10T07:08:01.1068348Z     {
2026-06-10T07:08:01.1068698Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-10T07:08:01.1069362Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-10T07:08:01.1069667Z       "requiredStages": [
2026-06-10T07:08:01.1069953Z         "impl",
2026-06-10T07:08:01.1070228Z         "unit"
2026-06-10T07:08:01.1070621Z       ],
2026-06-10T07:08:01.1070907Z       "stages": {
2026-06-10T07:08:01.1071186Z         "doc": {
2026-06-10T07:08:01.1071486Z           "complete": false,
2026-06-10T07:08:01.1071777Z           "evidence": []
2026-06-10T07:08:01.1072064Z         },
2026-06-10T07:08:01.1072350Z         "impl": {
2026-06-10T07:08:01.1072650Z           "complete": true,
2026-06-10T07:08:01.1072946Z           "evidence": [
2026-06-10T07:08:01.1073228Z             {
2026-06-10T07:08:01.1073644Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.1073931Z               "line": 56
2026-06-10T07:08:01.1074226Z             },
2026-06-10T07:08:01.1074502Z             {
2026-06-10T07:08:01.1074907Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.1075203Z               "line": 65
2026-06-10T07:08:01.1075475Z             },
2026-06-10T07:08:01.1075766Z             {
2026-06-10T07:08:01.1076161Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.1076469Z               "line": 72
2026-06-10T07:08:01.1076745Z             },
2026-06-10T07:08:01.1077031Z             {
2026-06-10T07:08:01.1077398Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1077694Z               "line": 33
2026-06-10T07:08:01.1077980Z             },
2026-06-10T07:08:01.1078251Z             {
2026-06-10T07:08:01.1078624Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1078913Z               "line": 65
2026-06-10T07:08:01.1079278Z             },
2026-06-10T07:08:01.1079564Z             {
2026-06-10T07:08:01.1079922Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1080222Z               "line": 74
2026-06-10T07:08:01.1080503Z             },
2026-06-10T07:08:01.1080784Z             {
2026-06-10T07:08:01.1081148Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1081448Z               "line": 83
2026-06-10T07:08:01.1081731Z             },
2026-06-10T07:08:01.1082018Z             {
2026-06-10T07:08:01.1082384Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1082676Z               "line": 92
2026-06-10T07:08:01.1082953Z             },
2026-06-10T07:08:01.1083229Z             {
2026-06-10T07:08:01.1083596Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1083892Z               "line": 101
2026-06-10T07:08:01.1084176Z             },
2026-06-10T07:08:01.1084457Z             {
2026-06-10T07:08:01.1084814Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1085143Z               "line": 112
2026-06-10T07:08:01.1085425Z             },
2026-06-10T07:08:01.1085692Z             {
2026-06-10T07:08:01.1086049Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1086340Z               "line": 130
2026-06-10T07:08:01.1086622Z             },
2026-06-10T07:08:01.1086901Z             {
2026-06-10T07:08:01.1087266Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1087562Z               "line": 139
2026-06-10T07:08:01.1087848Z             },
2026-06-10T07:08:01.1088124Z             {
2026-06-10T07:08:01.1088487Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1088782Z               "line": 148
2026-06-10T07:08:01.1089146Z             },
2026-06-10T07:08:01.1089434Z             {
2026-06-10T07:08:01.1089790Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1090075Z               "line": 159
2026-06-10T07:08:01.1090409Z             },
2026-06-10T07:08:01.1090671Z             {
2026-06-10T07:08:01.1091155Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1091446Z               "line": 167
2026-06-10T07:08:01.1091727Z             },
2026-06-10T07:08:01.1092013Z             {
2026-06-10T07:08:01.1092368Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1092664Z               "line": 176
2026-06-10T07:08:01.1092940Z             },
2026-06-10T07:08:01.1093342Z             {
2026-06-10T07:08:01.1093695Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1093991Z               "line": 185
2026-06-10T07:08:01.1094267Z             },
2026-06-10T07:08:01.1094546Z             {
2026-06-10T07:08:01.1094916Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1095197Z               "line": 194
2026-06-10T07:08:01.1095478Z             },
2026-06-10T07:08:01.1095750Z             {
2026-06-10T07:08:01.1096108Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1096404Z               "line": 206
2026-06-10T07:08:01.1096704Z             },
2026-06-10T07:08:01.1096995Z             {
2026-06-10T07:08:01.1097347Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1097640Z               "line": 213
2026-06-10T07:08:01.1097903Z             },
2026-06-10T07:08:01.1098189Z             {
2026-06-10T07:08:01.1098552Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1098843Z               "line": 222
2026-06-10T07:08:01.1099261Z             },
2026-06-10T07:08:01.1099529Z             {
2026-06-10T07:08:01.1099881Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1100161Z               "line": 229
2026-06-10T07:08:01.1100437Z             },
2026-06-10T07:08:01.1100713Z             {
2026-06-10T07:08:01.1101075Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1101366Z               "line": 296
2026-06-10T07:08:01.1101638Z             },
2026-06-10T07:08:01.1101914Z             {
2026-06-10T07:08:01.1102273Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1102563Z               "line": 308
2026-06-10T07:08:01.1102838Z             },
2026-06-10T07:08:01.1103110Z             {
2026-06-10T07:08:01.1103472Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1103762Z               "line": 395
2026-06-10T07:08:01.1104035Z             }
2026-06-10T07:08:01.1104316Z           ]
2026-06-10T07:08:01.1104589Z         },
2026-06-10T07:08:01.1104871Z         "int": {
2026-06-10T07:08:01.1105173Z           "complete": false,
2026-06-10T07:08:01.1105462Z           "evidence": []
2026-06-10T07:08:01.1105738Z         },
2026-06-10T07:08:01.1106020Z         "unit": {
2026-06-10T07:08:01.1106315Z           "complete": true,
2026-06-10T07:08:01.1106606Z           "evidence": [
2026-06-10T07:08:01.1106878Z             {
2026-06-10T07:08:01.1107240Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1107526Z               "line": 477
2026-06-10T07:08:01.1107809Z             },
2026-06-10T07:08:01.1108093Z             {
2026-06-10T07:08:01.1108449Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1108745Z               "line": 518
2026-06-10T07:08:01.1109102Z             },
2026-06-10T07:08:01.1109374Z             {
2026-06-10T07:08:01.1109755Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1110042Z               "line": 531
2026-06-10T07:08:01.1110333Z             },
2026-06-10T07:08:01.1110612Z             {
2026-06-10T07:08:01.1110967Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1111254Z               "line": 617
2026-06-10T07:08:01.1111534Z             }
2026-06-10T07:08:01.1111820Z           ]
2026-06-10T07:08:01.1112092Z         }
2026-06-10T07:08:01.1112379Z       }
2026-06-10T07:08:01.1112651Z     },
2026-06-10T07:08:01.1112923Z     {
2026-06-10T07:08:01.1113262Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-10T07:08:01.1113857Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-10T07:08:01.1114281Z       "requiredStages": [
2026-06-10T07:08:01.1114610Z         "impl",
2026-06-10T07:08:01.1114895Z         "unit"
2026-06-10T07:08:01.1115177Z       ],
2026-06-10T07:08:01.1115455Z       "stages": {
2026-06-10T07:08:01.1115743Z         "doc": {
2026-06-10T07:08:01.1116041Z           "complete": false,
2026-06-10T07:08:01.1116337Z           "evidence": []
2026-06-10T07:08:01.1116710Z         },
2026-06-10T07:08:01.1116990Z         "impl": {
2026-06-10T07:08:01.1117290Z           "complete": true,
2026-06-10T07:08:01.1117586Z           "evidence": [
2026-06-10T07:08:01.1117862Z             {
2026-06-10T07:08:01.1118220Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-10T07:08:01.1118538Z               "line": 143
2026-06-10T07:08:01.1119228Z             },
2026-06-10T07:08:01.1119614Z             {
2026-06-10T07:08:01.1120000Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.1120277Z               "line": 148
2026-06-10T07:08:01.1120569Z             }
2026-06-10T07:08:01.1120845Z           ]
2026-06-10T07:08:01.1121119Z         },
2026-06-10T07:08:01.1121398Z         "int": {
2026-06-10T07:08:01.1121703Z           "complete": false,
2026-06-10T07:08:01.1121999Z           "evidence": []
2026-06-10T07:08:01.1122276Z         },
2026-06-10T07:08:01.1122562Z         "unit": {
2026-06-10T07:08:01.1122858Z           "complete": true,
2026-06-10T07:08:01.1123164Z           "evidence": [
2026-06-10T07:08:01.1123436Z             {
2026-06-10T07:08:01.1123794Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-10T07:08:01.1124087Z               "line": 264
2026-06-10T07:08:01.1124364Z             },
2026-06-10T07:08:01.1124644Z             {
2026-06-10T07:08:01.1125017Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.1125313Z               "line": 544
2026-06-10T07:08:01.1125584Z             },
2026-06-10T07:08:01.1125865Z             {
2026-06-10T07:08:01.1126250Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.1126543Z               "line": 557
2026-06-10T07:08:01.1126825Z             }
2026-06-10T07:08:01.1127102Z           ]
2026-06-10T07:08:01.1127389Z         }
2026-06-10T07:08:01.1127665Z       }
2026-06-10T07:08:01.1127947Z     },
2026-06-10T07:08:01.1128228Z     {
2026-06-10T07:08:01.1128651Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-10T07:08:01.1129246Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-10T07:08:01.1129593Z       "requiredStages": [
2026-06-10T07:08:01.1129874Z         "impl",
2026-06-10T07:08:01.1130161Z         "unit"
2026-06-10T07:08:01.1130436Z       ],
2026-06-10T07:08:01.1130722Z       "stages": {
2026-06-10T07:08:01.1130994Z         "doc": {
2026-06-10T07:08:01.1131300Z           "complete": false,
2026-06-10T07:08:01.1131590Z           "evidence": []
2026-06-10T07:08:01.1131864Z         },
2026-06-10T07:08:01.1132141Z         "impl": {
2026-06-10T07:08:01.1132446Z           "complete": true,
2026-06-10T07:08:01.1132751Z           "evidence": [
2026-06-10T07:08:01.1133033Z             {
2026-06-10T07:08:01.1133404Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.1133690Z               "line": 114
2026-06-10T07:08:01.1133977Z             },
2026-06-10T07:08:01.1134253Z             {
2026-06-10T07:08:01.1134652Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.1134952Z               "line": 481
2026-06-10T07:08:01.1135229Z             }
2026-06-10T07:08:01.1135510Z           ]
2026-06-10T07:08:01.1135791Z         },
2026-06-10T07:08:01.1136073Z         "int": {
2026-06-10T07:08:01.1136368Z           "complete": false,
2026-06-10T07:08:01.1136668Z           "evidence": []
2026-06-10T07:08:01.1136949Z         },
2026-06-10T07:08:01.1137257Z         "unit": {
2026-06-10T07:08:01.1137553Z           "complete": true,
2026-06-10T07:08:01.1137877Z           "evidence": [
2026-06-10T07:08:01.1138154Z             {
2026-06-10T07:08:01.1138540Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.1139160Z               "line": 515
2026-06-10T07:08:01.1139447Z             }
2026-06-10T07:08:01.1139725Z           ]
2026-06-10T07:08:01.1140004Z         }
2026-06-10T07:08:01.1140281Z       }
2026-06-10T07:08:01.1140557Z     },
2026-06-10T07:08:01.1140830Z     {
2026-06-10T07:08:01.1141201Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-10T07:08:01.1141855Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-10T07:08:01.1142159Z       "requiredStages": [
2026-06-10T07:08:01.1142443Z         "impl",
2026-06-10T07:08:01.1142720Z         "unit"
2026-06-10T07:08:01.1143001Z       ],
2026-06-10T07:08:01.1143283Z       "stages": {
2026-06-10T07:08:01.1143569Z         "doc": {
2026-06-10T07:08:01.1143873Z           "complete": false,
2026-06-10T07:08:01.1144159Z           "evidence": []
2026-06-10T07:08:01.1144441Z         },
2026-06-10T07:08:01.1144712Z         "impl": {
2026-06-10T07:08:01.1145017Z           "complete": true,
2026-06-10T07:08:01.1145313Z           "evidence": [
2026-06-10T07:08:01.1145589Z             {
2026-06-10T07:08:01.1145994Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.1146300Z               "line": 459
2026-06-10T07:08:01.1146590Z             },
2026-06-10T07:08:01.1146863Z             {
2026-06-10T07:08:01.1147233Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-10T07:08:01.1147537Z               "line": 28
2026-06-10T07:08:01.1147817Z             }
2026-06-10T07:08:01.1148104Z           ]
2026-06-10T07:08:01.1148380Z         },
2026-06-10T07:08:01.1148666Z         "int": {
2026-06-10T07:08:01.1149043Z           "complete": false,
2026-06-10T07:08:01.1149348Z           "evidence": []
2026-06-10T07:08:01.1149625Z         },
2026-06-10T07:08:01.1149911Z         "unit": {
2026-06-10T07:08:01.1150214Z           "complete": true,
2026-06-10T07:08:01.1150502Z           "evidence": [
2026-06-10T07:08:01.1150784Z             {
2026-06-10T07:08:01.1151156Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-10T07:08:01.1151451Z               "line": 229
2026-06-10T07:08:01.1151733Z             }
2026-06-10T07:08:01.1152019Z           ]
2026-06-10T07:08:01.1152305Z         }
2026-06-10T07:08:01.1152574Z       }
2026-06-10T07:08:01.1152862Z     },
2026-06-10T07:08:01.1153141Z     {
2026-06-10T07:08:01.1153484Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-10T07:08:01.1153909Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-10T07:08:01.1154219Z       "requiredStages": [],
2026-06-10T07:08:01.1154510Z       "stages": {
2026-06-10T07:08:01.1154792Z         "doc": {
2026-06-10T07:08:01.1155092Z           "complete": false,
2026-06-10T07:08:01.1155388Z           "evidence": []
2026-06-10T07:08:01.1155662Z         },
2026-06-10T07:08:01.1155939Z         "impl": {
2026-06-10T07:08:01.1156234Z           "complete": false,
2026-06-10T07:08:01.1156531Z           "evidence": []
2026-06-10T07:08:01.1156803Z         },
2026-06-10T07:08:01.1157089Z         "int": {
2026-06-10T07:08:01.1157380Z           "complete": false,
2026-06-10T07:08:01.1157680Z           "evidence": []
2026-06-10T07:08:01.1157945Z         },
2026-06-10T07:08:01.1158229Z         "unit": {
2026-06-10T07:08:01.1158524Z           "complete": false,
2026-06-10T07:08:01.1158806Z           "evidence": []
2026-06-10T07:08:01.1159158Z         }
2026-06-10T07:08:01.1159436Z       }
2026-06-10T07:08:01.1159702Z     },
2026-06-10T07:08:01.1159966Z     {
2026-06-10T07:08:01.1160313Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-10T07:08:01.1160769Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-10T07:08:01.1161077Z       "requiredStages": [
2026-06-10T07:08:01.1161363Z         "impl",
2026-06-10T07:08:01.1161636Z         "unit"
2026-06-10T07:08:01.1161916Z       ],
2026-06-10T07:08:01.1162194Z       "stages": {
2026-06-10T07:08:01.1162485Z         "doc": {
2026-06-10T07:08:01.1162780Z           "complete": false,
2026-06-10T07:08:01.1163185Z           "evidence": []
2026-06-10T07:08:01.1163470Z         },
2026-06-10T07:08:01.1163749Z         "impl": {
2026-06-10T07:08:01.1164044Z           "complete": true,
2026-06-10T07:08:01.1164335Z           "evidence": [
2026-06-10T07:08:01.1164602Z             {
2026-06-10T07:08:01.1164950Z               "path": "crates/spt-live/src/turn.rs",
2026-06-10T07:08:01.1165241Z               "line": 19
2026-06-10T07:08:01.1165628Z             },
2026-06-10T07:08:01.1165904Z             {
2026-06-10T07:08:01.1166289Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.1166575Z               "line": 347
2026-06-10T07:08:01.1166861Z             },
2026-06-10T07:08:01.1167138Z             {
2026-06-10T07:08:01.1167519Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.1167810Z               "line": 383
2026-06-10T07:08:01.1168087Z             },
2026-06-10T07:08:01.1168373Z             {
2026-06-10T07:08:01.1168732Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-10T07:08:01.1169123Z               "line": 15
2026-06-10T07:08:01.1169408Z             },
2026-06-10T07:08:01.1169676Z             {
2026-06-10T07:08:01.1170047Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-10T07:08:01.1170334Z               "line": 48
2026-06-10T07:08:01.1170615Z             },
2026-06-10T07:08:01.1170892Z             {
2026-06-10T07:08:01.1171272Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-10T07:08:01.1171571Z               "line": 119
2026-06-10T07:08:01.1171843Z             },
2026-06-10T07:08:01.1172124Z             {
2026-06-10T07:08:01.1172449Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1172744Z               "line": 2840
2026-06-10T07:08:01.1173011Z             }
2026-06-10T07:08:01.1173282Z           ]
2026-06-10T07:08:01.1173564Z         },
2026-06-10T07:08:01.1173839Z         "int": {
2026-06-10T07:08:01.1174147Z           "complete": false,
2026-06-10T07:08:01.1177159Z           "evidence": []
2026-06-10T07:08:01.1177494Z         },
2026-06-10T07:08:01.1177784Z         "unit": {
2026-06-10T07:08:01.1178094Z           "complete": true,
2026-06-10T07:08:01.1178394Z           "evidence": [
2026-06-10T07:08:01.1178671Z             {
2026-06-10T07:08:01.1179175Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.1179469Z               "line": 496
2026-06-10T07:08:01.1179769Z             },
2026-06-10T07:08:01.1180046Z             {
2026-06-10T07:08:01.1180423Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-10T07:08:01.1180723Z               "line": 165
2026-06-10T07:08:01.1181005Z             },
2026-06-10T07:08:01.1181295Z             {
2026-06-10T07:08:01.1181668Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-10T07:08:01.1181961Z               "line": 175
2026-06-10T07:08:01.1182240Z             }
2026-06-10T07:08:01.1182526Z           ]
2026-06-10T07:08:01.1182808Z         }
2026-06-10T07:08:01.1183080Z       }
2026-06-10T07:08:01.1183361Z     },
2026-06-10T07:08:01.1183633Z     {
2026-06-10T07:08:01.1183977Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-10T07:08:01.1186443Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-10T07:08:01.1186772Z       "requiredStages": [
2026-06-10T07:08:01.1187064Z         "impl",
2026-06-10T07:08:01.1187347Z         "unit"
2026-06-10T07:08:01.1187624Z       ],
2026-06-10T07:08:01.1187900Z       "stages": {
2026-06-10T07:08:01.1188187Z         "doc": {
2026-06-10T07:08:01.1188492Z           "complete": false,
2026-06-10T07:08:01.1188783Z           "evidence": []
2026-06-10T07:08:01.1189140Z         },
2026-06-10T07:08:01.1189427Z         "impl": {
2026-06-10T07:08:01.1189730Z           "complete": true,
2026-06-10T07:08:01.1190019Z           "evidence": [
2026-06-10T07:08:01.1190486Z             {
2026-06-10T07:08:01.1190830Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1191121Z               "line": 2598
2026-06-10T07:08:01.1191402Z             },
2026-06-10T07:08:01.1191688Z             {
2026-06-10T07:08:01.1192045Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.1192332Z               "line": 103
2026-06-10T07:08:01.1192715Z             },
2026-06-10T07:08:01.1192996Z             {
2026-06-10T07:08:01.1193344Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.1193636Z               "line": 135
2026-06-10T07:08:01.1193912Z             }
2026-06-10T07:08:01.1194189Z           ]
2026-06-10T07:08:01.1194461Z         },
2026-06-10T07:08:01.1194742Z         "int": {
2026-06-10T07:08:01.1195045Z           "complete": false,
2026-06-10T07:08:01.1195333Z           "evidence": []
2026-06-10T07:08:01.1195624Z         },
2026-06-10T07:08:01.1195901Z         "unit": {
2026-06-10T07:08:01.1196207Z           "complete": true,
2026-06-10T07:08:01.1196487Z           "evidence": [
2026-06-10T07:08:01.1196765Z             {
2026-06-10T07:08:01.1197117Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.1197404Z               "line": 258
2026-06-10T07:08:01.1197681Z             },
2026-06-10T07:08:01.1197946Z             {
2026-06-10T07:08:01.1198313Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.1198604Z               "line": 283
2026-06-10T07:08:01.1198880Z             },
2026-06-10T07:08:01.1199239Z             {
2026-06-10T07:08:01.1199592Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.1199882Z               "line": 296
2026-06-10T07:08:01.1200152Z             },
2026-06-10T07:08:01.1200427Z             {
2026-06-10T07:08:01.1200774Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.1201070Z               "line": 308
2026-06-10T07:08:01.1201346Z             }
2026-06-10T07:08:01.1201619Z           ]
2026-06-10T07:08:01.1201905Z         }
2026-06-10T07:08:01.1202177Z       }
2026-06-10T07:08:01.1202459Z     },
2026-06-10T07:08:01.1202731Z     {
2026-06-10T07:08:01.1203072Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-10T07:08:01.1203561Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-10T07:08:01.1203862Z       "requiredStages": [
2026-06-10T07:08:01.1204148Z         "impl",
2026-06-10T07:08:01.1204434Z         "unit"
2026-06-10T07:08:01.1204725Z       ],
2026-06-10T07:08:01.1205012Z       "stages": {
2026-06-10T07:08:01.1205292Z         "doc": {
2026-06-10T07:08:01.1205600Z           "complete": false,
2026-06-10T07:08:01.1205893Z           "evidence": []
2026-06-10T07:08:01.1206179Z         },
2026-06-10T07:08:01.1206561Z         "impl": {
2026-06-10T07:08:01.1206958Z           "complete": true,
2026-06-10T07:08:01.1207325Z           "evidence": [
2026-06-10T07:08:01.1207592Z             {
2026-06-10T07:08:01.1207969Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.1208260Z               "line": 35
2026-06-10T07:08:01.1208544Z             }
2026-06-10T07:08:01.1208820Z           ]
2026-06-10T07:08:01.1209189Z         },
2026-06-10T07:08:01.1209546Z         "int": {
2026-06-10T07:08:01.1209847Z           "complete": false,
2026-06-10T07:08:01.1210142Z           "evidence": []
2026-06-10T07:08:01.1210418Z         },
2026-06-10T07:08:01.1210698Z         "unit": {
2026-06-10T07:08:01.1211006Z           "complete": true,
2026-06-10T07:08:01.1211296Z           "evidence": [
2026-06-10T07:08:01.1211573Z             {
2026-06-10T07:08:01.1211950Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-10T07:08:01.1212241Z               "line": 220
2026-06-10T07:08:01.1212518Z             }
2026-06-10T07:08:01.1212789Z           ]
2026-06-10T07:08:01.1213067Z         }
2026-06-10T07:08:01.1213334Z       }
2026-06-10T07:08:01.1213618Z     },
2026-06-10T07:08:01.1213887Z     {
2026-06-10T07:08:01.1214225Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-10T07:08:01.1215160Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-10T07:08:01.1215480Z       "requiredStages": [
2026-06-10T07:08:01.1215751Z         "impl",
2026-06-10T07:08:01.1216023Z         "unit"
2026-06-10T07:08:01.1216289Z       ],
2026-06-10T07:08:01.1216573Z       "stages": {
2026-06-10T07:08:01.1216855Z         "doc": {
2026-06-10T07:08:01.1217241Z           "complete": false,
2026-06-10T07:08:01.1217542Z           "evidence": []
2026-06-10T07:08:01.1217809Z         },
2026-06-10T07:08:01.1218148Z         "impl": {
2026-06-10T07:08:01.1218434Z           "complete": true,
2026-06-10T07:08:01.1218724Z           "evidence": [
2026-06-10T07:08:01.1219075Z             {
2026-06-10T07:08:01.1219458Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.1219744Z               "line": 398
2026-06-10T07:08:01.1220024Z             },
2026-06-10T07:08:01.1220301Z             {
2026-06-10T07:08:01.1220684Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.1220973Z               "line": 409
2026-06-10T07:08:01.1221258Z             },
2026-06-10T07:08:01.1221523Z             {
2026-06-10T07:08:01.1222038Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.1222358Z               "line": 156
2026-06-10T07:08:01.1222678Z             }
2026-06-10T07:08:01.1222964Z           ]
2026-06-10T07:08:01.1223255Z         },
2026-06-10T07:08:01.1223536Z         "int": {
2026-06-10T07:08:01.1223841Z           "complete": false,
2026-06-10T07:08:01.1224139Z           "evidence": []
2026-06-10T07:08:01.1224414Z         },
2026-06-10T07:08:01.1224700Z         "unit": {
2026-06-10T07:08:01.1224991Z           "complete": true,
2026-06-10T07:08:01.1225287Z           "evidence": [
2026-06-10T07:08:01.1225568Z             {
2026-06-10T07:08:01.1225954Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.1226355Z               "line": 812
2026-06-10T07:08:01.1226654Z             },
2026-06-10T07:08:01.1226980Z             {
2026-06-10T07:08:01.1227372Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.1227667Z               "line": 826
2026-06-10T07:08:01.1227949Z             },
2026-06-10T07:08:01.1228230Z             {
2026-06-10T07:08:01.1228611Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.1228912Z               "line": 845
2026-06-10T07:08:01.1229285Z             },
2026-06-10T07:08:01.1229559Z             {
2026-06-10T07:08:01.1229945Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.1230236Z               "line": 862
2026-06-10T07:08:01.1230517Z             },
2026-06-10T07:08:01.1230804Z             {
2026-06-10T07:08:01.1231205Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-10T07:08:01.1231500Z               "line": 441
2026-06-10T07:08:01.1231785Z             }
2026-06-10T07:08:01.1232073Z           ]
2026-06-10T07:08:01.1232355Z         }
2026-06-10T07:08:01.1232636Z       }
2026-06-10T07:08:01.1232918Z     },
2026-06-10T07:08:01.1233190Z     {
2026-06-10T07:08:01.1233534Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-10T07:08:01.1235813Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-10T07:08:01.1236128Z       "requiredStages": [
2026-06-10T07:08:01.1236415Z         "doc",
2026-06-10T07:08:01.1236692Z         "impl",
2026-06-10T07:08:01.1236973Z         "unit"
2026-06-10T07:08:01.1237252Z       ],
2026-06-10T07:08:01.1237541Z       "stages": {
2026-06-10T07:08:01.1237822Z         "doc": {
2026-06-10T07:08:01.1238118Z           "complete": true,
2026-06-10T07:08:01.1238423Z           "evidence": [
2026-06-10T07:08:01.1238700Z             {
2026-06-10T07:08:01.1239129Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-10T07:08:01.1239559Z               "line": 329
2026-06-10T07:08:01.1239888Z             }
2026-06-10T07:08:01.1240181Z           ]
2026-06-10T07:08:01.1240448Z         },
2026-06-10T07:08:01.1240734Z         "impl": {
2026-06-10T07:08:01.1241030Z           "complete": true,
2026-06-10T07:08:01.1241326Z           "evidence": [
2026-06-10T07:08:01.1241603Z             {
2026-06-10T07:08:01.1242103Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-10T07:08:01.1242397Z               "line": 85
2026-06-10T07:08:01.1242672Z             },
2026-06-10T07:08:01.1242953Z             {
2026-06-10T07:08:01.1243320Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-10T07:08:01.1243615Z               "line": 99
2026-06-10T07:08:01.1243888Z             },
2026-06-10T07:08:01.1244169Z             {
2026-06-10T07:08:01.1244556Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.1244845Z               "line": 55
2026-06-10T07:08:01.1245128Z             },
2026-06-10T07:08:01.1245412Z             {
2026-06-10T07:08:01.1245788Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-10T07:08:01.1246078Z               "line": 31
2026-06-10T07:08:01.1246360Z             },
2026-06-10T07:08:01.1246632Z             {
2026-06-10T07:08:01.1247008Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-10T07:08:01.1247305Z               "line": 187
2026-06-10T07:08:01.1247576Z             },
2026-06-10T07:08:01.1247860Z             {
2026-06-10T07:08:01.1248235Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.1248525Z               "line": 95
2026-06-10T07:08:01.1248806Z             },
2026-06-10T07:08:01.1249160Z             {
2026-06-10T07:08:01.1249560Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.1249847Z               "line": 29
2026-06-10T07:08:01.1250119Z             },
2026-06-10T07:08:01.1250400Z             {
2026-06-10T07:08:01.1250785Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.1251095Z               "line": 104
2026-06-10T07:08:01.1251376Z             },
2026-06-10T07:08:01.1251656Z             {
2026-06-10T07:08:01.1252059Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1252349Z               "line": 192
2026-06-10T07:08:01.1252635Z             },
2026-06-10T07:08:01.1252915Z             {
2026-06-10T07:08:01.1253303Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-10T07:08:01.1253584Z               "line": 28
2026-06-10T07:08:01.1253865Z             },
2026-06-10T07:08:01.1254143Z             {
2026-06-10T07:08:01.1254523Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-10T07:08:01.1254820Z               "line": 74
2026-06-10T07:08:01.1255153Z             },
2026-06-10T07:08:01.1255435Z             {
2026-06-10T07:08:01.1255825Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-10T07:08:01.1256113Z               "line": 32
2026-06-10T07:08:01.1256385Z             },
2026-06-10T07:08:01.1256663Z             {
2026-06-10T07:08:01.1257057Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.1257339Z               "line": 40
2026-06-10T07:08:01.1257625Z             },
2026-06-10T07:08:01.1257897Z             {
2026-06-10T07:08:01.1258263Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.1258557Z               "line": 184
2026-06-10T07:08:01.1258848Z             },
2026-06-10T07:08:01.1259195Z             {
2026-06-10T07:08:01.1259549Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-10T07:08:01.1259843Z               "line": 70
2026-06-10T07:08:01.1260116Z             },
2026-06-10T07:08:01.1260398Z             {
2026-06-10T07:08:01.1260760Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-10T07:08:01.1261061Z               "line": 223
2026-06-10T07:08:01.1261345Z             },
2026-06-10T07:08:01.1261631Z             {
2026-06-10T07:08:01.1261994Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-10T07:08:01.1262389Z               "line": 37
2026-06-10T07:08:01.1262666Z             },
2026-06-10T07:08:01.1262939Z             {
2026-06-10T07:08:01.1263319Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-10T07:08:01.1263618Z               "line": 38
2026-06-10T07:08:01.1263892Z             },
2026-06-10T07:08:01.1264173Z             {
2026-06-10T07:08:01.1264650Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-10T07:08:01.1264947Z               "line": 36
2026-06-10T07:08:01.1265228Z             },
2026-06-10T07:08:01.1265510Z             {
2026-06-10T07:08:01.1265877Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-10T07:08:01.1266158Z               "line": 40
2026-06-10T07:08:01.1266447Z             }
2026-06-10T07:08:01.1266725Z           ]
2026-06-10T07:08:01.1266997Z         },
2026-06-10T07:08:01.1267279Z         "int": {
2026-06-10T07:08:01.1267585Z           "complete": false,
2026-06-10T07:08:01.1267895Z           "evidence": []
2026-06-10T07:08:01.1268171Z         },
2026-06-10T07:08:01.1268453Z         "unit": {
2026-06-10T07:08:01.1268749Z           "complete": true,
2026-06-10T07:08:01.1269122Z           "evidence": [
2026-06-10T07:08:01.1269398Z             {
2026-06-10T07:08:01.1269789Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.1270089Z               "line": 212
2026-06-10T07:08:01.1270371Z             },
2026-06-10T07:08:01.1270648Z             {
2026-06-10T07:08:01.1271038Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-10T07:08:01.1271334Z               "line": 136
2026-06-10T07:08:01.1271602Z             },
2026-06-10T07:08:01.1271881Z             {
2026-06-10T07:08:01.1272287Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-10T07:08:01.1272564Z               "line": 685
2026-06-10T07:08:01.1272844Z             },
2026-06-10T07:08:01.1273120Z             {
2026-06-10T07:08:01.1273499Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-10T07:08:01.1273798Z               "line": 224
2026-06-10T07:08:01.1274068Z             },
2026-06-10T07:08:01.1274342Z             {
2026-06-10T07:08:01.1274719Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-10T07:08:01.1275014Z               "line": 157
2026-06-10T07:08:01.1275291Z             },
2026-06-10T07:08:01.1275568Z             {
2026-06-10T07:08:01.1275959Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-10T07:08:01.1276250Z               "line": 112
2026-06-10T07:08:01.1276535Z             },
2026-06-10T07:08:01.1276813Z             {
2026-06-10T07:08:01.1277177Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-10T07:08:01.1277468Z               "line": 157
2026-06-10T07:08:01.1277754Z             },
2026-06-10T07:08:01.1278036Z             {
2026-06-10T07:08:01.1278407Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-10T07:08:01.1278703Z               "line": 215
2026-06-10T07:08:01.1279055Z             },
2026-06-10T07:08:01.1279338Z             {
2026-06-10T07:08:01.1279711Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-10T07:08:01.1280007Z               "line": 140
2026-06-10T07:08:01.1280297Z             },
2026-06-10T07:08:01.1280579Z             {
2026-06-10T07:08:01.1280950Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-10T07:08:01.1281241Z               "line": 162
2026-06-10T07:08:01.1281528Z             }
2026-06-10T07:08:01.1281809Z           ]
2026-06-10T07:08:01.1282095Z         }
2026-06-10T07:08:01.1282369Z       }
2026-06-10T07:08:01.1282641Z     },
2026-06-10T07:08:01.1282913Z     {
2026-06-10T07:08:01.1283270Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-10T07:08:01.1283768Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-10T07:08:01.1284073Z       "requiredStages": [
2026-06-10T07:08:01.1284363Z         "impl",
2026-06-10T07:08:01.1284652Z         "unit"
2026-06-10T07:08:01.1284926Z       ],
2026-06-10T07:08:01.1285337Z       "stages": {
2026-06-10T07:08:01.1285613Z         "doc": {
2026-06-10T07:08:01.1285918Z           "complete": false,
2026-06-10T07:08:01.1286204Z           "evidence": []
2026-06-10T07:08:01.1286481Z         },
2026-06-10T07:08:01.1286757Z         "impl": {
2026-06-10T07:08:01.1287053Z           "complete": true,
2026-06-10T07:08:01.1287349Z           "evidence": [
2026-06-10T07:08:01.1287718Z             {
2026-06-10T07:08:01.1288085Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.1288371Z               "line": 95
2026-06-10T07:08:01.1288700Z             },
2026-06-10T07:08:01.1289062Z             {
2026-06-10T07:08:01.1289424Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.1289725Z               "line": 102
2026-06-10T07:08:01.1290000Z             }
2026-06-10T07:08:01.1290280Z           ]
2026-06-10T07:08:01.1290552Z         },
2026-06-10T07:08:01.1290834Z         "int": {
2026-06-10T07:08:01.1291139Z           "complete": false,
2026-06-10T07:08:01.1291439Z           "evidence": []
2026-06-10T07:08:01.1291720Z         },
2026-06-10T07:08:01.1292001Z         "unit": {
2026-06-10T07:08:01.1292301Z           "complete": true,
2026-06-10T07:08:01.1292587Z           "evidence": [
2026-06-10T07:08:01.1292867Z             {
2026-06-10T07:08:01.1293234Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.1293520Z               "line": 250
2026-06-10T07:08:01.1293817Z             },
2026-06-10T07:08:01.1294093Z             {
2026-06-10T07:08:01.1294465Z               "path": "crates/spt-store/src/proc.rs",
2026-06-10T07:08:01.1294755Z               "line": 198
2026-06-10T07:08:01.1295037Z             },
2026-06-10T07:08:01.1295317Z             {
2026-06-10T07:08:01.1295678Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.1295969Z               "line": 442
2026-06-10T07:08:01.1296241Z             },
2026-06-10T07:08:01.1296522Z             {
2026-06-10T07:08:01.1296885Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.1297181Z               "line": 475
2026-06-10T07:08:01.1297471Z             }
2026-06-10T07:08:01.1297747Z           ]
2026-06-10T07:08:01.1298022Z         }
2026-06-10T07:08:01.1298302Z       }
2026-06-10T07:08:01.1298579Z     },
2026-06-10T07:08:01.1298851Z     {
2026-06-10T07:08:01.1299274Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-10T07:08:01.1299837Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-10T07:08:01.1300143Z       "requiredStages": [
2026-06-10T07:08:01.1300429Z         "impl",
2026-06-10T07:08:01.1300732Z         "unit"
2026-06-10T07:08:01.1301026Z       ],
2026-06-10T07:08:01.1301306Z       "stages": {
2026-06-10T07:08:01.1301607Z         "doc": {
2026-06-10T07:08:01.1301912Z           "complete": false,
2026-06-10T07:08:01.1302203Z           "evidence": []
2026-06-10T07:08:01.1302489Z         },
2026-06-10T07:08:01.1302770Z         "impl": {
2026-06-10T07:08:01.1303066Z           "complete": true,
2026-06-10T07:08:01.1303362Z           "evidence": [
2026-06-10T07:08:01.1303647Z             {
2026-06-10T07:08:01.1304025Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1304310Z               "line": 252
2026-06-10T07:08:01.1304592Z             },
2026-06-10T07:08:01.1304868Z             {
2026-06-10T07:08:01.1305264Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1305556Z               "line": 297
2026-06-10T07:08:01.1305835Z             },
2026-06-10T07:08:01.1306128Z             {
2026-06-10T07:08:01.1306491Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1306782Z               "line": 309
2026-06-10T07:08:01.1307063Z             }
2026-06-10T07:08:01.1307353Z           ]
2026-06-10T07:08:01.1307625Z         },
2026-06-10T07:08:01.1307906Z         "int": {
2026-06-10T07:08:01.1308216Z           "complete": false,
2026-06-10T07:08:01.1308886Z           "evidence": []
2026-06-10T07:08:01.1309243Z         },
2026-06-10T07:08:01.1309792Z         "unit": {
2026-06-10T07:08:01.1310106Z           "complete": true,
2026-06-10T07:08:01.1310397Z           "evidence": [
2026-06-10T07:08:01.1310684Z             {
2026-06-10T07:08:01.1311055Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1311344Z               "line": 445
2026-06-10T07:08:01.1311624Z             },
2026-06-10T07:08:01.1311896Z             {
2026-06-10T07:08:01.1312349Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.1312626Z               "line": 489
2026-06-10T07:08:01.1312888Z             }
2026-06-10T07:08:01.1313193Z           ]
2026-06-10T07:08:01.1313470Z         }
2026-06-10T07:08:01.1313741Z       }
2026-06-10T07:08:01.1314007Z     },
2026-06-10T07:08:01.1314279Z     {
2026-06-10T07:08:01.1314565Z       "id": "REQ-INFRA-1",
2026-06-10T07:08:01.1315128Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-10T07:08:01.1315428Z       "requiredStages": [],
2026-06-10T07:08:01.1315710Z       "stages": {
2026-06-10T07:08:01.1315996Z         "doc": {
2026-06-10T07:08:01.1316286Z           "complete": false,
2026-06-10T07:08:01.1316576Z           "evidence": []
2026-06-10T07:08:01.1316850Z         },
2026-06-10T07:08:01.1317117Z         "impl": {
2026-06-10T07:08:01.1317638Z           "complete": false,
2026-06-10T07:08:01.1317927Z           "evidence": []
2026-06-10T07:08:01.1318204Z         },
2026-06-10T07:08:01.1318476Z         "int": {
2026-06-10T07:08:01.1318766Z           "complete": false,
2026-06-10T07:08:01.1319129Z           "evidence": []
2026-06-10T07:08:01.1319398Z         },
2026-06-10T07:08:01.1319675Z         "unit": {
2026-06-10T07:08:01.1320009Z           "complete": false,
2026-06-10T07:08:01.1320314Z           "evidence": []
2026-06-10T07:08:01.1320595Z         }
2026-06-10T07:08:01.1320877Z       }
2026-06-10T07:08:01.1321148Z     },
2026-06-10T07:08:01.1321424Z     {
2026-06-10T07:08:01.1321733Z       "id": "REQ-INST-1",
2026-06-10T07:08:01.1322223Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-10T07:08:01.1322542Z       "requiredStages": [],
2026-06-10T07:08:01.1322823Z       "stages": {
2026-06-10T07:08:01.1323110Z         "doc": {
2026-06-10T07:08:01.1323405Z           "complete": false,
2026-06-10T07:08:01.1323696Z           "evidence": []
2026-06-10T07:08:01.1323972Z         },
2026-06-10T07:08:01.1324249Z         "impl": {
2026-06-10T07:08:01.1324553Z           "complete": false,
2026-06-10T07:08:01.1324844Z           "evidence": []
2026-06-10T07:08:01.1325125Z         },
2026-06-10T07:08:01.1325402Z         "int": {
2026-06-10T07:08:01.1325707Z           "complete": false,
2026-06-10T07:08:01.1326003Z           "evidence": []
2026-06-10T07:08:01.1326285Z         },
2026-06-10T07:08:01.1326565Z         "unit": {
2026-06-10T07:08:01.1326864Z           "complete": false,
2026-06-10T07:08:01.1327162Z           "evidence": []
2026-06-10T07:08:01.1327439Z         }
2026-06-10T07:08:01.1327721Z       }
2026-06-10T07:08:01.1328002Z     },
2026-06-10T07:08:01.1328274Z     {
2026-06-10T07:08:01.1328570Z       "id": "REQ-INST-10",
2026-06-10T07:08:01.1329331Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-10T07:08:01.1329646Z       "requiredStages": [
2026-06-10T07:08:01.1329916Z         "impl",
2026-06-10T07:08:01.1330197Z         "unit"
2026-06-10T07:08:01.1330469Z       ],
2026-06-10T07:08:01.1330740Z       "stages": {
2026-06-10T07:08:01.1331021Z         "doc": {
2026-06-10T07:08:01.1331312Z           "complete": false,
2026-06-10T07:08:01.1331607Z           "evidence": []
2026-06-10T07:08:01.1331884Z         },
2026-06-10T07:08:01.1332170Z         "impl": {
2026-06-10T07:08:01.1332469Z           "complete": true,
2026-06-10T07:08:01.1332754Z           "evidence": [
2026-06-10T07:08:01.1333036Z             {
2026-06-10T07:08:01.1333426Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1333712Z               "line": 600
2026-06-10T07:08:01.1333990Z             },
2026-06-10T07:08:01.1334441Z             {
2026-06-10T07:08:01.1335236Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1336142Z               "line": 677
2026-06-10T07:08:01.1336830Z             },
2026-06-10T07:08:01.1337448Z             {
2026-06-10T07:08:01.1338128Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-10T07:08:01.1339115Z               "line": 13
2026-06-10T07:08:01.1339906Z             },
2026-06-10T07:08:01.1340514Z             {
2026-06-10T07:08:01.1341199Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-10T07:08:01.1342058Z               "line": 67
2026-06-10T07:08:01.1342726Z             },
2026-06-10T07:08:01.1343329Z             {
2026-06-10T07:08:01.1344001Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.1344835Z               "line": 18
2026-06-10T07:08:01.1345499Z             },
2026-06-10T07:08:01.1346102Z             {
2026-06-10T07:08:01.1346770Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.1347661Z               "line": 444
2026-06-10T07:08:01.1348354Z             }
2026-06-10T07:08:01.1349041Z           ]
2026-06-10T07:08:01.1349622Z         },
2026-06-10T07:08:01.1350238Z         "int": {
2026-06-10T07:08:01.1350875Z           "complete": false,
2026-06-10T07:08:01.1351594Z           "evidence": []
2026-06-10T07:08:01.1352266Z         },
2026-06-10T07:08:01.1352858Z         "unit": {
2026-06-10T07:08:01.1353514Z           "complete": true,
2026-06-10T07:08:01.1354222Z           "evidence": [
2026-06-10T07:08:01.1354880Z             {
2026-06-10T07:08:01.1355585Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1356505Z               "line": 883
2026-06-10T07:08:01.1357182Z             },
2026-06-10T07:08:01.1357802Z             {
2026-06-10T07:08:01.1358497Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1359448Z               "line": 1212
2026-06-10T07:08:01.1360134Z             },
2026-06-10T07:08:01.1360759Z             {
2026-06-10T07:08:01.1361474Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1362353Z               "line": 1223
2026-06-10T07:08:01.1363036Z             },
2026-06-10T07:08:01.1363650Z             {
2026-06-10T07:08:01.1364358Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1365244Z               "line": 1239
2026-06-10T07:08:01.1365936Z             },
2026-06-10T07:08:01.1366537Z             {
2026-06-10T07:08:01.1367246Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1368137Z               "line": 1255
2026-06-10T07:08:01.1368810Z             },
2026-06-10T07:08:01.1369508Z             {
2026-06-10T07:08:01.1370214Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1371097Z               "line": 1277
2026-06-10T07:08:01.1371778Z             },
2026-06-10T07:08:01.1372380Z             {
2026-06-10T07:08:01.1373081Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1373959Z               "line": 1582
2026-06-10T07:08:01.1374648Z             },
2026-06-10T07:08:01.1375256Z             {
2026-06-10T07:08:01.1375934Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-10T07:08:01.1376787Z               "line": 130
2026-06-10T07:08:01.1377468Z             },
2026-06-10T07:08:01.1378077Z             {
2026-06-10T07:08:01.1378770Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-10T07:08:01.1379698Z               "line": 167
2026-06-10T07:08:01.1380373Z             },
2026-06-10T07:08:01.1380984Z             {
2026-06-10T07:08:01.1381657Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-10T07:08:01.1382508Z               "line": 175
2026-06-10T07:08:01.1383177Z             },
2026-06-10T07:08:01.1383788Z             {
2026-06-10T07:08:01.1384470Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-10T07:08:01.1385307Z               "line": 183
2026-06-10T07:08:01.1389849Z             },
2026-06-10T07:08:01.1390671Z             {
2026-06-10T07:08:01.1391396Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.1392250Z               "line": 895
2026-06-10T07:08:01.1392927Z             }
2026-06-10T07:08:01.1393533Z           ]
2026-06-10T07:08:01.1394135Z         }
2026-06-10T07:08:01.1394720Z       }
2026-06-10T07:08:01.1395293Z     },
2026-06-10T07:08:01.1395872Z     {
2026-06-10T07:08:01.1396609Z       "id": "REQ-INST-11",
2026-06-10T07:08:01.1397717Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-10T07:08:01.1398912Z       "requiredStages": [
2026-06-10T07:08:01.1399708Z         "impl",
2026-06-10T07:08:01.1400356Z         "unit"
2026-06-10T07:08:01.1400960Z       ],
2026-06-10T07:08:01.1401542Z       "stages": {
2026-06-10T07:08:01.1402157Z         "doc": {
2026-06-10T07:08:01.1402801Z           "complete": false,
2026-06-10T07:08:01.1403524Z           "evidence": []
2026-06-10T07:08:01.1404194Z         },
2026-06-10T07:08:01.1404804Z         "impl": {
2026-06-10T07:08:01.1405438Z           "complete": true,
2026-06-10T07:08:01.1406148Z           "evidence": [
2026-06-10T07:08:01.1406789Z             {
2026-06-10T07:08:01.1407489Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1408381Z               "line": 466
2026-06-10T07:08:01.1409119Z             },
2026-06-10T07:08:01.1409729Z             {
2026-06-10T07:08:01.1410460Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.1411354Z               "line": 265
2026-06-10T07:08:01.1412049Z             },
2026-06-10T07:08:01.1412669Z             {
2026-06-10T07:08:01.1413366Z               "path": "crates/spt-store/src/rename.rs",
2026-06-10T07:08:01.1414216Z               "line": 59
2026-06-10T07:08:01.1414891Z             },
2026-06-10T07:08:01.1415497Z             {
2026-06-10T07:08:01.1416214Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1417049Z               "line": 4043
2026-06-10T07:08:01.1417729Z             },
2026-06-10T07:08:01.1418331Z             {
2026-06-10T07:08:01.1419095Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1419899Z               "line": 5142
2026-06-10T07:08:01.1420576Z             }
2026-06-10T07:08:01.1421167Z           ]
2026-06-10T07:08:01.1421754Z         },
2026-06-10T07:08:01.1422337Z         "int": {
2026-06-10T07:08:01.1422972Z           "complete": false,
2026-06-10T07:08:01.1423945Z           "evidence": []
2026-06-10T07:08:01.1424677Z         },
2026-06-10T07:08:01.1425271Z         "unit": {
2026-06-10T07:08:01.1425905Z           "complete": true,
2026-06-10T07:08:01.1426615Z           "evidence": [
2026-06-10T07:08:01.1427301Z             {
2026-06-10T07:08:01.1428009Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1428896Z               "line": 1382
2026-06-10T07:08:01.1429750Z             },
2026-06-10T07:08:01.1430350Z             {
2026-06-10T07:08:01.1431065Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1431943Z               "line": 1415
2026-06-10T07:08:01.1432618Z             },
2026-06-10T07:08:01.1433217Z             {
2026-06-10T07:08:01.1433927Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.1434820Z               "line": 495
2026-06-10T07:08:01.1435476Z             },
2026-06-10T07:08:01.1436070Z             {
2026-06-10T07:08:01.1436747Z               "path": "crates/spt-store/src/rename.rs",
2026-06-10T07:08:01.1437590Z               "line": 160
2026-06-10T07:08:01.1438259Z             },
2026-06-10T07:08:01.1438850Z             {
2026-06-10T07:08:01.1439633Z               "path": "crates/spt-store/src/rename.rs",
2026-06-10T07:08:01.1440487Z               "line": 190
2026-06-10T07:08:01.1441152Z             },
2026-06-10T07:08:01.1441748Z             {
2026-06-10T07:08:01.1442441Z               "path": "crates/spt-store/src/rename.rs",
2026-06-10T07:08:01.1443285Z               "line": 225
2026-06-10T07:08:01.1443957Z             },
2026-06-10T07:08:01.1444702Z             {
2026-06-10T07:08:01.1445579Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1446401Z               "line": 5382
2026-06-10T07:08:01.1447074Z             }
2026-06-10T07:08:01.1447678Z           ]
2026-06-10T07:08:01.1448266Z         }
2026-06-10T07:08:01.1448852Z       }
2026-06-10T07:08:01.1449517Z     },
2026-06-10T07:08:01.1450087Z     {
2026-06-10T07:08:01.1450814Z       "id": "REQ-INST-12",
2026-06-10T07:08:01.1452152Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-10T07:08:01.1453557Z       "requiredStages": [
2026-06-10T07:08:01.1454241Z         "impl",
2026-06-10T07:08:01.1454851Z         "unit"
2026-06-10T07:08:01.1455448Z       ],
2026-06-10T07:08:01.1456034Z       "stages": {
2026-06-10T07:08:01.1456661Z         "doc": {
2026-06-10T07:08:01.1457305Z           "complete": false,
2026-06-10T07:08:01.1458019Z           "evidence": []
2026-06-10T07:08:01.1458691Z         },
2026-06-10T07:08:01.1459379Z         "impl": {
2026-06-10T07:08:01.1460067Z           "complete": true,
2026-06-10T07:08:01.1460824Z           "evidence": [
2026-06-10T07:08:01.1461544Z             {
2026-06-10T07:08:01.1462282Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1463222Z               "line": 518
2026-06-10T07:08:01.1463947Z             },
2026-06-10T07:08:01.1464563Z             {
2026-06-10T07:08:01.1465274Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1466448Z               "line": 611
2026-06-10T07:08:01.1467170Z             },
2026-06-10T07:08:01.1467803Z             {
2026-06-10T07:08:01.1468498Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1469457Z               "line": 691
2026-06-10T07:08:01.1470140Z             },
2026-06-10T07:08:01.1470746Z             {
2026-06-10T07:08:01.1471428Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.1472301Z               "line": 96
2026-06-10T07:08:01.1472982Z             },
2026-06-10T07:08:01.1473586Z             {
2026-06-10T07:08:01.1474272Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.1475133Z               "line": 269
2026-06-10T07:08:01.1475796Z             },
2026-06-10T07:08:01.1476393Z             {
2026-06-10T07:08:01.1477102Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-10T07:08:01.1478005Z               "line": 135
2026-06-10T07:08:01.1478696Z             }
2026-06-10T07:08:01.1479383Z           ]
2026-06-10T07:08:01.1479970Z         },
2026-06-10T07:08:01.1480557Z         "int": {
2026-06-10T07:08:01.1481187Z           "complete": false,
2026-06-10T07:08:01.1481897Z           "evidence": []
2026-06-10T07:08:01.1482560Z         },
2026-06-10T07:08:01.1483160Z         "unit": {
2026-06-10T07:08:01.1483794Z           "complete": true,
2026-06-10T07:08:01.1484494Z           "evidence": [
2026-06-10T07:08:01.1485261Z             {
2026-06-10T07:08:01.1486018Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1486904Z               "line": 1457
2026-06-10T07:08:01.1487577Z             },
2026-06-10T07:08:01.1488181Z             {
2026-06-10T07:08:01.1488880Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1489839Z               "line": 1480
2026-06-10T07:08:01.1490516Z             },
2026-06-10T07:08:01.1491122Z             {
2026-06-10T07:08:01.1491819Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1492687Z               "line": 1517
2026-06-10T07:08:01.1493350Z             },
2026-06-10T07:08:01.1493953Z             {
2026-06-10T07:08:01.1494636Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.1495493Z               "line": 457
2026-06-10T07:08:01.1496161Z             },
2026-06-10T07:08:01.1496758Z             {
2026-06-10T07:08:01.1497459Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-10T07:08:01.1498476Z               "line": 172
2026-06-10T07:08:01.1499225Z             },
2026-06-10T07:08:01.1499845Z             {
2026-06-10T07:08:01.1500545Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-10T07:08:01.1501421Z               "line": 193
2026-06-10T07:08:01.1502092Z             },
2026-06-10T07:08:01.1502688Z             {
2026-06-10T07:08:01.1503394Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-10T07:08:01.1504375Z               "line": 219
2026-06-10T07:08:01.1505099Z             }
2026-06-10T07:08:01.1505696Z           ]
2026-06-10T07:08:01.1506268Z         }
2026-06-10T07:08:01.1506856Z       }
2026-06-10T07:08:01.1507424Z     },
2026-06-10T07:08:01.1508000Z     {
2026-06-10T07:08:01.1508591Z       "id": "REQ-INST-13",
2026-06-10T07:08:01.1509651Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-10T07:08:01.1510724Z       "requiredStages": [
2026-06-10T07:08:01.1511415Z         "impl",
2026-06-10T07:08:01.1512019Z         "unit"
2026-06-10T07:08:01.1512643Z       ],
2026-06-10T07:08:01.1513225Z       "stages": {
2026-06-10T07:08:01.1513850Z         "doc": {
2026-06-10T07:08:01.1514480Z           "complete": false,
2026-06-10T07:08:01.1515198Z           "evidence": []
2026-06-10T07:08:01.1515869Z         },
2026-06-10T07:08:01.1516467Z         "impl": {
2026-06-10T07:08:01.1517117Z           "complete": true,
2026-06-10T07:08:01.1517831Z           "evidence": [
2026-06-10T07:08:01.1518479Z             {
2026-06-10T07:08:01.1519239Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.1520102Z               "line": 100
2026-06-10T07:08:01.1520774Z             },
2026-06-10T07:08:01.1521384Z             {
2026-06-10T07:08:01.1522096Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-10T07:08:01.1522978Z               "line": 158
2026-06-10T07:08:01.1523650Z             }
2026-06-10T07:08:01.1524252Z           ]
2026-06-10T07:08:01.1524838Z         },
2026-06-10T07:08:01.1525424Z         "int": {
2026-06-10T07:08:01.1526078Z           "complete": false,
2026-06-10T07:08:01.1526797Z           "evidence": []
2026-06-10T07:08:01.1527463Z         },
2026-06-10T07:08:01.1528053Z         "unit": {
2026-06-10T07:08:01.1528706Z           "complete": true,
2026-06-10T07:08:01.1529484Z           "evidence": [
2026-06-10T07:08:01.1530147Z             {
2026-06-10T07:08:01.1530863Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-10T07:08:01.1531750Z               "line": 248
2026-06-10T07:08:01.1532418Z             },
2026-06-10T07:08:01.1533021Z             {
2026-06-10T07:08:01.1533735Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-10T07:08:01.1534622Z               "line": 266
2026-06-10T07:08:01.1535341Z             }
2026-06-10T07:08:01.1535941Z           ]
2026-06-10T07:08:01.1536513Z         }
2026-06-10T07:08:01.1537089Z       }
2026-06-10T07:08:01.1537671Z     },
2026-06-10T07:08:01.1538251Z     {
2026-06-10T07:08:01.1538842Z       "id": "REQ-INST-14",
2026-06-10T07:08:01.1540491Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-10T07:08:01.1542213Z       "requiredStages": [
2026-06-10T07:08:01.1542911Z         "doc",
2026-06-10T07:08:01.1543523Z         "impl",
2026-06-10T07:08:01.1544127Z         "unit"
2026-06-10T07:08:01.1544723Z       ],
2026-06-10T07:08:01.1545305Z       "stages": {
2026-06-10T07:08:01.1545911Z         "doc": {
2026-06-10T07:08:01.1546545Z           "complete": true,
2026-06-10T07:08:01.1547292Z           "evidence": [
2026-06-10T07:08:01.1547946Z             {
2026-06-10T07:08:01.1548583Z               "path": "CONTEXT.md",
2026-06-10T07:08:01.1549426Z               "line": 425
2026-06-10T07:08:01.1550088Z             },
2026-06-10T07:08:01.1550690Z             {
2026-06-10T07:08:01.1551324Z               "path": "docs/STORAGE.md",
2026-06-10T07:08:01.1552101Z               "line": 49
2026-06-10T07:08:01.1552749Z             }
2026-06-10T07:08:01.1553476Z           ]
2026-06-10T07:08:01.1554069Z         },
2026-06-10T07:08:01.1554654Z         "impl": {
2026-06-10T07:08:01.1555302Z           "complete": true,
2026-06-10T07:08:01.1556003Z           "evidence": [
2026-06-10T07:08:01.1556653Z             {
2026-06-10T07:08:01.1557377Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1558277Z               "line": 388
2026-06-10T07:08:01.1559172Z             },
2026-06-10T07:08:01.1559780Z             {
2026-06-10T07:08:01.1560496Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1561378Z               "line": 330
2026-06-10T07:08:01.1562049Z             },
2026-06-10T07:08:01.1562652Z             {
2026-06-10T07:08:01.1563324Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.1564197Z               "line": 211
2026-06-10T07:08:01.1564871Z             },
2026-06-10T07:08:01.1565473Z             {
2026-06-10T07:08:01.1566120Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1566951Z               "line": 1038
2026-06-10T07:08:01.1567622Z             }
2026-06-10T07:08:01.1568233Z           ]
2026-06-10T07:08:01.1568833Z         },
2026-06-10T07:08:01.1569501Z         "int": {
2026-06-10T07:08:01.1570135Z           "complete": false,
2026-06-10T07:08:01.1570847Z           "evidence": []
2026-06-10T07:08:01.1571518Z         },
2026-06-10T07:08:01.1572129Z         "unit": {
2026-06-10T07:08:01.1572766Z           "complete": true,
2026-06-10T07:08:01.1573471Z           "evidence": [
2026-06-10T07:08:01.1574138Z             {
2026-06-10T07:08:01.1574867Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1575769Z               "line": 1081
2026-06-10T07:08:01.1576446Z             },
2026-06-10T07:08:01.1577057Z             {
2026-06-10T07:08:01.1577758Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1578634Z               "line": 895
2026-06-10T07:08:01.1579383Z             },
2026-06-10T07:08:01.1580003Z             {
2026-06-10T07:08:01.1580705Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1581582Z               "line": 1153
2026-06-10T07:08:01.1582265Z             },
2026-06-10T07:08:01.1582870Z             {
2026-06-10T07:08:01.1583553Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.1584411Z               "line": 463
2026-06-10T07:08:01.1585088Z             },
2026-06-10T07:08:01.1585693Z             {
2026-06-10T07:08:01.1586353Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1587169Z               "line": 5458
2026-06-10T07:08:01.1587865Z             }
2026-06-10T07:08:01.1588467Z           ]
2026-06-10T07:08:01.1589133Z         }
2026-06-10T07:08:01.1589715Z       }
2026-06-10T07:08:01.1590287Z     },
2026-06-10T07:08:01.1590867Z     {
2026-06-10T07:08:01.1591465Z       "id": "REQ-INST-15",
2026-06-10T07:08:01.1594065Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-10T07:08:01.1596815Z       "requiredStages": [
2026-06-10T07:08:01.1597515Z         "doc",
2026-06-10T07:08:01.1598125Z         "impl",
2026-06-10T07:08:01.1598740Z         "unit"
2026-06-10T07:08:01.1599426Z       ],
2026-06-10T07:08:01.1600012Z       "stages": {
2026-06-10T07:08:01.1600632Z         "doc": {
2026-06-10T07:08:01.1601272Z           "complete": true,
2026-06-10T07:08:01.1601978Z           "evidence": [
2026-06-10T07:08:01.1602640Z             {
2026-06-10T07:08:01.1603490Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-10T07:08:01.1604597Z               "line": 3
2026-06-10T07:08:01.1605241Z             }
2026-06-10T07:08:01.1605846Z           ]
2026-06-10T07:08:01.1606437Z         },
2026-06-10T07:08:01.1607022Z         "impl": {
2026-06-10T07:08:01.1607764Z           "complete": true,
2026-06-10T07:08:01.1608470Z           "evidence": [
2026-06-10T07:08:01.1609220Z             {
2026-06-10T07:08:01.1609944Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1610840Z               "line": 337
2026-06-10T07:08:01.1611517Z             },
2026-06-10T07:08:01.1612116Z             {
2026-06-10T07:08:01.1612786Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-10T07:08:01.1613759Z               "line": 60
2026-06-10T07:08:01.1614426Z             },
2026-06-10T07:08:01.1615072Z             {
2026-06-10T07:08:01.1615796Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.1616692Z               "line": 336
2026-06-10T07:08:01.1617355Z             },
2026-06-10T07:08:01.1617963Z             {
2026-06-10T07:08:01.1618677Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.1619641Z               "line": 385
2026-06-10T07:08:01.1620316Z             },
2026-06-10T07:08:01.1620931Z             {
2026-06-10T07:08:01.1621614Z               "path": "crates/spt-store/src/home.rs",
2026-06-10T07:08:01.1626385Z               "line": 19
2026-06-10T07:08:01.1627091Z             },
2026-06-10T07:08:01.1627712Z             {
2026-06-10T07:08:01.1628404Z               "path": "crates/spt-store/src/home.rs",
2026-06-10T07:08:01.1629358Z               "line": 70
2026-06-10T07:08:01.1630049Z             },
2026-06-10T07:08:01.1630660Z             {
2026-06-10T07:08:01.1631340Z               "path": "crates/spt-store/src/home.rs",
2026-06-10T07:08:01.1632193Z               "line": 96
2026-06-10T07:08:01.1632867Z             },
2026-06-10T07:08:01.1633457Z             {
2026-06-10T07:08:01.1634126Z               "path": "crates/spt-store/src/home.rs",
2026-06-10T07:08:01.1634974Z               "line": 121
2026-06-10T07:08:01.1635642Z             },
2026-06-10T07:08:01.1636244Z             {
2026-06-10T07:08:01.1636930Z               "path": "crates/spt-store/src/home.rs",
2026-06-10T07:08:01.1637789Z               "line": 172
2026-06-10T07:08:01.1638451Z             },
2026-06-10T07:08:01.1639139Z             {
2026-06-10T07:08:01.1639835Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.1640689Z               "line": 143
2026-06-10T07:08:01.1641361Z             },
2026-06-10T07:08:01.1641962Z             {
2026-06-10T07:08:01.1642605Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1643441Z               "line": 930
2026-06-10T07:08:01.1644104Z             }
2026-06-10T07:08:01.1644706Z           ]
2026-06-10T07:08:01.1645282Z         },
2026-06-10T07:08:01.1645868Z         "int": {
2026-06-10T07:08:01.1646492Z           "complete": false,
2026-06-10T07:08:01.1647200Z           "evidence": []
2026-06-10T07:08:01.1647863Z         },
2026-06-10T07:08:01.1648449Z         "unit": {
2026-06-10T07:08:01.1649168Z           "complete": true,
2026-06-10T07:08:01.1649863Z           "evidence": [
2026-06-10T07:08:01.1650521Z             {
2026-06-10T07:08:01.1651244Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.1652146Z               "line": 545
2026-06-10T07:08:01.1652823Z             },
2026-06-10T07:08:01.1653428Z             {
2026-06-10T07:08:01.1654152Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.1655055Z               "line": 606
2026-06-10T07:08:01.1656118Z             },
2026-06-10T07:08:01.1656767Z             {
2026-06-10T07:08:01.1657474Z               "path": "crates/spt-store/src/home.rs",
2026-06-10T07:08:01.1658337Z               "line": 213
2026-06-10T07:08:01.1659092Z             },
2026-06-10T07:08:01.1659689Z             {
2026-06-10T07:08:01.1660375Z               "path": "crates/spt-store/src/home.rs",
2026-06-10T07:08:01.1661213Z               "line": 249
2026-06-10T07:08:01.1661876Z             },
2026-06-10T07:08:01.1662476Z             {
2026-06-10T07:08:01.1663139Z               "path": "crates/spt-store/src/home.rs",
2026-06-10T07:08:01.1663983Z               "line": 262
2026-06-10T07:08:01.1664806Z             },
2026-06-10T07:08:01.1665405Z             {
2026-06-10T07:08:01.1666082Z               "path": "crates/spt-store/src/home.rs",
2026-06-10T07:08:01.1666931Z               "line": 338
2026-06-10T07:08:01.1667603Z             },
2026-06-10T07:08:01.1668197Z             {
2026-06-10T07:08:01.1668883Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.1669932Z               "line": 496
2026-06-10T07:08:01.1670606Z             },
2026-06-10T07:08:01.1671211Z             {
2026-06-10T07:08:01.1671859Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1672665Z               "line": 5395
2026-06-10T07:08:01.1673346Z             },
2026-06-10T07:08:01.1673953Z             {
2026-06-10T07:08:01.1674600Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1675414Z               "line": 6788
2026-06-10T07:08:01.1676085Z             }
2026-06-10T07:08:01.1676691Z           ]
2026-06-10T07:08:01.1677271Z         }
2026-06-10T07:08:01.1677873Z       }
2026-06-10T07:08:01.1678442Z     },
2026-06-10T07:08:01.1679095Z     {
2026-06-10T07:08:01.1679686Z       "id": "REQ-INST-2",
2026-06-10T07:08:01.1680449Z       "title": "Per-node files, synced Psyche mind",
2026-06-10T07:08:01.1681338Z       "requiredStages": [
2026-06-10T07:08:01.1682042Z         "impl",
2026-06-10T07:08:01.1682654Z         "unit"
2026-06-10T07:08:01.1683273Z       ],
2026-06-10T07:08:01.1683869Z       "stages": {
2026-06-10T07:08:01.1684488Z         "doc": {
2026-06-10T07:08:01.1685141Z           "complete": false,
2026-06-10T07:08:01.1685865Z           "evidence": []
2026-06-10T07:08:01.1686553Z         },
2026-06-10T07:08:01.1687145Z         "impl": {
2026-06-10T07:08:01.1687779Z           "complete": true,
2026-06-10T07:08:01.1688481Z           "evidence": [
2026-06-10T07:08:01.1689226Z             {
2026-06-10T07:08:01.1689937Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.1690829Z               "line": 86
2026-06-10T07:08:01.1691499Z             },
2026-06-10T07:08:01.1692084Z             {
2026-06-10T07:08:01.1692761Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-10T07:08:01.1693610Z               "line": 28
2026-06-10T07:08:01.1694280Z             },
2026-06-10T07:08:01.1694891Z             {
2026-06-10T07:08:01.1695588Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-10T07:08:01.1696440Z               "line": 74
2026-06-10T07:08:01.1697114Z             },
2026-06-10T07:08:01.1697719Z             {
2026-06-10T07:08:01.1698401Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-10T07:08:01.1699312Z               "line": 96
2026-06-10T07:08:01.1699981Z             },
2026-06-10T07:08:01.1700587Z             {
2026-06-10T07:08:01.1701264Z               "path": "crates/spt-live/src/resume.rs",
2026-06-10T07:08:01.1701555Z               "line": 81
2026-06-10T07:08:01.1701831Z             },
2026-06-10T07:08:01.1702110Z             {
2026-06-10T07:08:01.1702472Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-10T07:08:01.1702773Z               "line": 118
2026-06-10T07:08:01.1703054Z             }
2026-06-10T07:08:01.1703335Z           ]
2026-06-10T07:08:01.1703612Z         },
2026-06-10T07:08:01.1703894Z         "int": {
2026-06-10T07:08:01.1704199Z           "complete": false,
2026-06-10T07:08:01.1704495Z           "evidence": []
2026-06-10T07:08:01.1704773Z         },
2026-06-10T07:08:01.1705060Z         "unit": {
2026-06-10T07:08:01.1705351Z           "complete": true,
2026-06-10T07:08:01.1705638Z           "evidence": [
2026-06-10T07:08:01.1705914Z             {
2026-06-10T07:08:01.1706280Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-10T07:08:01.1706586Z               "line": 212
2026-06-10T07:08:01.1706868Z             },
2026-06-10T07:08:01.1707152Z             {
2026-06-10T07:08:01.1707508Z               "path": "crates/spt-live/src/resume.rs",
2026-06-10T07:08:01.1707804Z               "line": 258
2026-06-10T07:08:01.1708081Z             }
2026-06-10T07:08:01.1708480Z           ]
2026-06-10T07:08:01.1708763Z         }
2026-06-10T07:08:01.1709133Z       }
2026-06-10T07:08:01.1709416Z     },
2026-06-10T07:08:01.1709688Z     {
2026-06-10T07:08:01.1709995Z       "id": "REQ-INST-3",
2026-06-10T07:08:01.1710446Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-10T07:08:01.1710761Z       "requiredStages": [
2026-06-10T07:08:01.1711147Z         "doc",
2026-06-10T07:08:01.1711433Z         "impl",
2026-06-10T07:08:01.1711719Z         "unit"
2026-06-10T07:08:01.1711991Z       ],
2026-06-10T07:08:01.1712283Z       "stages": {
2026-06-10T07:08:01.1712558Z         "doc": {
2026-06-10T07:08:01.1712865Z           "complete": true,
2026-06-10T07:08:01.1713161Z           "evidence": [
2026-06-10T07:08:01.1713437Z             {
2026-06-10T07:08:01.1713781Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-10T07:08:01.1714066Z               "line": 3
2026-06-10T07:08:01.1714348Z             }
2026-06-10T07:08:01.1714629Z           ]
2026-06-10T07:08:01.1714920Z         },
2026-06-10T07:08:01.1715211Z         "impl": {
2026-06-10T07:08:01.1715506Z           "complete": true,
2026-06-10T07:08:01.1715802Z           "evidence": [
2026-06-10T07:08:01.1716079Z             {
2026-06-10T07:08:01.1716465Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-10T07:08:01.1716746Z               "line": 70
2026-06-10T07:08:01.1717023Z             },
2026-06-10T07:08:01.1717299Z             {
2026-06-10T07:08:01.1717674Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.1717973Z               "line": 480
2026-06-10T07:08:01.1718234Z             },
2026-06-10T07:08:01.1718506Z             {
2026-06-10T07:08:01.1718897Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.1719265Z               "line": 202
2026-06-10T07:08:01.1719546Z             },
2026-06-10T07:08:01.1719822Z             {
2026-06-10T07:08:01.1720229Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.1720537Z               "line": 291
2026-06-10T07:08:01.1720820Z             },
2026-06-10T07:08:01.1721097Z             {
2026-06-10T07:08:01.1721484Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.1721779Z               "line": 325
2026-06-10T07:08:01.1722132Z             },
2026-06-10T07:08:01.1722481Z             {
2026-06-10T07:08:01.1722946Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.1723301Z               "line": 341
2026-06-10T07:08:01.1723597Z             },
2026-06-10T07:08:01.1723879Z             {
2026-06-10T07:08:01.1724288Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1724569Z               "line": 218
2026-06-10T07:08:01.1724851Z             },
2026-06-10T07:08:01.1725118Z             {
2026-06-10T07:08:01.1725523Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1725823Z               "line": 374
2026-06-10T07:08:01.1726100Z             },
2026-06-10T07:08:01.1726391Z             {
2026-06-10T07:08:01.1726800Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1727101Z               "line": 45
2026-06-10T07:08:01.1727377Z             },
2026-06-10T07:08:01.1727649Z             {
2026-06-10T07:08:01.1728016Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1728305Z               "line": 114
2026-06-10T07:08:01.1728605Z             },
2026-06-10T07:08:01.1728881Z             {
2026-06-10T07:08:01.1729338Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1729624Z               "line": 152
2026-06-10T07:08:01.1729915Z             },
2026-06-10T07:08:01.1730198Z             {
2026-06-10T07:08:01.1730587Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1730870Z               "line": 168
2026-06-10T07:08:01.1731144Z             },
2026-06-10T07:08:01.1731438Z             {
2026-06-10T07:08:01.1731801Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1732373Z               "line": 178
2026-06-10T07:08:01.1732668Z             },
2026-06-10T07:08:01.1732949Z             {
2026-06-10T07:08:01.1733327Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1733630Z               "line": 210
2026-06-10T07:08:01.1733908Z             },
2026-06-10T07:08:01.1734185Z             {
2026-06-10T07:08:01.1734668Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1734969Z               "line": 287
2026-06-10T07:08:01.1735249Z             },
2026-06-10T07:08:01.1735530Z             {
2026-06-10T07:08:01.1735898Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1736203Z               "line": 311
2026-06-10T07:08:01.1736477Z             },
2026-06-10T07:08:01.1736745Z             {
2026-06-10T07:08:01.1737116Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1737408Z               "line": 387
2026-06-10T07:08:01.1737698Z             },
2026-06-10T07:08:01.1737980Z             {
2026-06-10T07:08:01.1738371Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1738675Z               "line": 436
2026-06-10T07:08:01.1739035Z             },
2026-06-10T07:08:01.1739311Z             {
2026-06-10T07:08:01.1739688Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-10T07:08:01.1739988Z               "line": 37
2026-06-10T07:08:01.1740279Z             },
2026-06-10T07:08:01.1740556Z             {
2026-06-10T07:08:01.1740923Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1741215Z               "line": 62
2026-06-10T07:08:01.1741491Z             },
2026-06-10T07:08:01.1741770Z             {
2026-06-10T07:08:01.1742132Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.1742423Z               "line": 190
2026-06-10T07:08:01.1742713Z             },
2026-06-10T07:08:01.1742990Z             {
2026-06-10T07:08:01.1743324Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1743630Z               "line": 1186
2026-06-10T07:08:01.1743911Z             }
2026-06-10T07:08:01.1744195Z           ]
2026-06-10T07:08:01.1744473Z         },
2026-06-10T07:08:01.1744755Z         "int": {
2026-06-10T07:08:01.1745170Z           "complete": false,
2026-06-10T07:08:01.1745490Z           "evidence": []
2026-06-10T07:08:01.1745766Z         },
2026-06-10T07:08:01.1746062Z         "unit": {
2026-06-10T07:08:01.1746372Z           "complete": true,
2026-06-10T07:08:01.1746667Z           "evidence": [
2026-06-10T07:08:01.1746952Z             {
2026-06-10T07:08:01.1747334Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:01.1747629Z               "line": 360
2026-06-10T07:08:01.1747906Z             },
2026-06-10T07:08:01.1748183Z             {
2026-06-10T07:08:01.1748573Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.1748869Z               "line": 664
2026-06-10T07:08:01.1749547Z             },
2026-06-10T07:08:01.1749839Z             {
2026-06-10T07:08:01.1750272Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.1750587Z               "line": 721
2026-06-10T07:08:01.1750863Z             },
2026-06-10T07:08:01.1751150Z             {
2026-06-10T07:08:01.1751551Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1751852Z               "line": 1182
2026-06-10T07:08:01.1752140Z             },
2026-06-10T07:08:01.1752419Z             {
2026-06-10T07:08:01.1752829Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1753125Z               "line": 1322
2026-06-10T07:08:01.1753406Z             },
2026-06-10T07:08:01.1753688Z             {
2026-06-10T07:08:01.1754065Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1754360Z               "line": 447
2026-06-10T07:08:01.1754640Z             },
2026-06-10T07:08:01.1754925Z             {
2026-06-10T07:08:01.1755300Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1755807Z               "line": 483
2026-06-10T07:08:01.1756093Z             },
2026-06-10T07:08:01.1756370Z             {
2026-06-10T07:08:01.1756747Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1757033Z               "line": 538
2026-06-10T07:08:01.1757320Z             },
2026-06-10T07:08:01.1757593Z             {
2026-06-10T07:08:01.1758075Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1758371Z               "line": 695
2026-06-10T07:08:01.1758653Z             },
2026-06-10T07:08:01.1758934Z             {
2026-06-10T07:08:01.1759510Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1759805Z               "line": 929
2026-06-10T07:08:01.1760094Z             },
2026-06-10T07:08:01.1760375Z             {
2026-06-10T07:08:01.1760761Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1761052Z               "line": 943
2026-06-10T07:08:01.1761352Z             },
2026-06-10T07:08:01.1761629Z             {
2026-06-10T07:08:01.1762015Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1762296Z               "line": 1193
2026-06-10T07:08:01.1762578Z             },
2026-06-10T07:08:01.1762853Z             {
2026-06-10T07:08:01.1763204Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.1763505Z               "line": 413
2026-06-10T07:08:01.1763781Z             },
2026-06-10T07:08:01.1764068Z             {
2026-06-10T07:08:01.1764401Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1764693Z               "line": 5419
2026-06-10T07:08:01.1764969Z             }
2026-06-10T07:08:01.1765244Z           ]
2026-06-10T07:08:01.1765522Z         }
2026-06-10T07:08:01.1765786Z       }
2026-06-10T07:08:01.1766062Z     },
2026-06-10T07:08:01.1766320Z     {
2026-06-10T07:08:01.1766620Z       "id": "REQ-INST-4",
2026-06-10T07:08:01.1767158Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-10T07:08:01.1767472Z       "requiredStages": [
2026-06-10T07:08:01.1767759Z         "impl",
2026-06-10T07:08:01.1768044Z         "unit"
2026-06-10T07:08:01.1768312Z       ],
2026-06-10T07:08:01.1768589Z       "stages": {
2026-06-10T07:08:01.1768870Z         "doc": {
2026-06-10T07:08:01.1769265Z           "complete": false,
2026-06-10T07:08:01.1769566Z           "evidence": []
2026-06-10T07:08:01.1769838Z         },
2026-06-10T07:08:01.1770119Z         "impl": {
2026-06-10T07:08:01.1770407Z           "complete": true,
2026-06-10T07:08:01.1770701Z           "evidence": [
2026-06-10T07:08:01.1770982Z             {
2026-06-10T07:08:01.1771368Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.1771655Z               "line": 292
2026-06-10T07:08:01.1771936Z             },
2026-06-10T07:08:01.1772208Z             {
2026-06-10T07:08:01.1772589Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1772871Z               "line": 202
2026-06-10T07:08:01.1773161Z             },
2026-06-10T07:08:01.1773431Z             {
2026-06-10T07:08:01.1773802Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1774098Z               "line": 234
2026-06-10T07:08:01.1774379Z             },
2026-06-10T07:08:01.1774661Z             {
2026-06-10T07:08:01.1775028Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1775314Z               "line": 274
2026-06-10T07:08:01.1775596Z             }
2026-06-10T07:08:01.1775870Z           ]
2026-06-10T07:08:01.1776139Z         },
2026-06-10T07:08:01.1776421Z         "int": {
2026-06-10T07:08:01.1776722Z           "complete": false,
2026-06-10T07:08:01.1777018Z           "evidence": []
2026-06-10T07:08:01.1777294Z         },
2026-06-10T07:08:01.1777585Z         "unit": {
2026-06-10T07:08:01.1777886Z           "complete": true,
2026-06-10T07:08:01.1778182Z           "evidence": [
2026-06-10T07:08:01.1778463Z             {
2026-06-10T07:08:01.1778857Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.1779362Z               "line": 716
2026-06-10T07:08:01.1779648Z             },
2026-06-10T07:08:01.1779934Z             {
2026-06-10T07:08:01.1780355Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1780654Z               "line": 559
2026-06-10T07:08:01.1780939Z             },
2026-06-10T07:08:01.1781228Z             {
2026-06-10T07:08:01.1781706Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1782006Z               "line": 666
2026-06-10T07:08:01.1782292Z             },
2026-06-10T07:08:01.1782568Z             {
2026-06-10T07:08:01.1782951Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1783241Z               "line": 748
2026-06-10T07:08:01.1783527Z             }
2026-06-10T07:08:01.1783815Z           ]
2026-06-10T07:08:01.1784095Z         }
2026-06-10T07:08:01.1784381Z       }
2026-06-10T07:08:01.1784654Z     },
2026-06-10T07:08:01.1784939Z     {
2026-06-10T07:08:01.1785245Z       "id": "REQ-INST-5",
2026-06-10T07:08:01.1785818Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-10T07:08:01.1786128Z       "requiredStages": [
2026-06-10T07:08:01.1786411Z         "impl",
2026-06-10T07:08:01.1786699Z         "unit",
2026-06-10T07:08:01.1786977Z         "int"
2026-06-10T07:08:01.1787263Z       ],
2026-06-10T07:08:01.1787559Z       "stages": {
2026-06-10T07:08:01.1787849Z         "doc": {
2026-06-10T07:08:01.1788150Z           "complete": false,
2026-06-10T07:08:01.1788441Z           "evidence": []
2026-06-10T07:08:01.1788713Z         },
2026-06-10T07:08:01.1789066Z         "impl": {
2026-06-10T07:08:01.1789374Z           "complete": true,
2026-06-10T07:08:01.1789661Z           "evidence": [
2026-06-10T07:08:01.1789946Z             {
2026-06-10T07:08:01.1790324Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.1790610Z               "line": 41
2026-06-10T07:08:01.1790895Z             },
2026-06-10T07:08:01.1791176Z             {
2026-06-10T07:08:01.1791542Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.1791831Z               "line": 68
2026-06-10T07:08:01.1792112Z             },
2026-06-10T07:08:01.1792393Z             {
2026-06-10T07:08:01.1792760Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.1793047Z               "line": 99
2026-06-10T07:08:01.1793334Z             },
2026-06-10T07:08:01.1793619Z             {
2026-06-10T07:08:01.1793976Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.1794276Z               "line": 183
2026-06-10T07:08:01.1794556Z             },
2026-06-10T07:08:01.1794842Z             {
2026-06-10T07:08:01.1795209Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.1795499Z               "line": 314
2026-06-10T07:08:01.1795782Z             }
2026-06-10T07:08:01.1796063Z           ]
2026-06-10T07:08:01.1796344Z         },
2026-06-10T07:08:01.1796629Z         "int": {
2026-06-10T07:08:01.1796947Z           "complete": true,
2026-06-10T07:08:01.1797241Z           "evidence": [
2026-06-10T07:08:01.1797518Z             {
2026-06-10T07:08:01.1797923Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.1798213Z               "line": 156
2026-06-10T07:08:01.1798495Z             },
2026-06-10T07:08:01.1798777Z             {
2026-06-10T07:08:01.1799264Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-10T07:08:01.1799631Z               "line": 102
2026-06-10T07:08:01.1799906Z             },
2026-06-10T07:08:01.1800186Z             {
2026-06-10T07:08:01.1800569Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.1800874Z               "line": 637
2026-06-10T07:08:01.1801160Z             },
2026-06-10T07:08:01.1801441Z             {
2026-06-10T07:08:01.1801824Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.1802122Z               "line": 974
2026-06-10T07:08:01.1802405Z             }
2026-06-10T07:08:01.1802782Z           ]
2026-06-10T07:08:01.1803063Z         },
2026-06-10T07:08:01.1803349Z         "unit": {
2026-06-10T07:08:01.1803640Z           "complete": true,
2026-06-10T07:08:01.1803931Z           "evidence": [
2026-06-10T07:08:01.1804202Z             {
2026-06-10T07:08:01.1804561Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.1804860Z               "line": 531
2026-06-10T07:08:01.1805373Z             },
2026-06-10T07:08:01.1805654Z             {
2026-06-10T07:08:01.1806032Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.1806332Z               "line": 574
2026-06-10T07:08:01.1806608Z             },
2026-06-10T07:08:01.1806894Z             {
2026-06-10T07:08:01.1807277Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-10T07:08:01.1807579Z               "line": 219
2026-06-10T07:08:01.1807873Z             }
2026-06-10T07:08:01.1808153Z           ]
2026-06-10T07:08:01.1808440Z         }
2026-06-10T07:08:01.1808731Z       }
2026-06-10T07:08:01.1809098Z     },
2026-06-10T07:08:01.1809375Z     {
2026-06-10T07:08:01.1809675Z       "id": "REQ-INST-6",
2026-06-10T07:08:01.1810271Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-10T07:08:01.1810572Z       "requiredStages": [
2026-06-10T07:08:01.1810867Z         "impl",
2026-06-10T07:08:01.1811148Z         "unit",
2026-06-10T07:08:01.1811448Z         "int"
2026-06-10T07:08:01.1811725Z       ],
2026-06-10T07:08:01.1812016Z       "stages": {
2026-06-10T07:08:01.1812306Z         "doc": {
2026-06-10T07:08:01.1812606Z           "complete": true,
2026-06-10T07:08:01.1812903Z           "evidence": [
2026-06-10T07:08:01.1813181Z             {
2026-06-10T07:08:01.1813510Z               "path": "docs/DEFERRED.md",
2026-06-10T07:08:01.1813801Z               "line": 13
2026-06-10T07:08:01.1814096Z             }
2026-06-10T07:08:01.1814382Z           ]
2026-06-10T07:08:01.1814664Z         },
2026-06-10T07:08:01.1814941Z         "impl": {
2026-06-10T07:08:01.1815246Z           "complete": true,
2026-06-10T07:08:01.1815559Z           "evidence": [
2026-06-10T07:08:01.1815842Z             {
2026-06-10T07:08:01.1816229Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.1816529Z               "line": 391
2026-06-10T07:08:01.1816800Z             },
2026-06-10T07:08:01.1817072Z             {
2026-06-10T07:08:01.1817459Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-10T07:08:01.1817789Z               "line": 27
2026-06-10T07:08:01.1818063Z             },
2026-06-10T07:08:01.1818366Z             {
2026-06-10T07:08:01.1818752Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-10T07:08:01.1819116Z               "line": 73
2026-06-10T07:08:01.1819406Z             },
2026-06-10T07:08:01.1819687Z             {
2026-06-10T07:08:01.1820065Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-10T07:08:01.1820355Z               "line": 182
2026-06-10T07:08:01.1820636Z             },
2026-06-10T07:08:01.1820930Z             {
2026-06-10T07:08:01.1821312Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1821607Z               "line": 424
2026-06-10T07:08:01.1821884Z             },
2026-06-10T07:08:01.1822165Z             {
2026-06-10T07:08:01.1822528Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-10T07:08:01.1822828Z               "line": 31
2026-06-10T07:08:01.1823118Z             },
2026-06-10T07:08:01.1823398Z             {
2026-06-10T07:08:01.1823764Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.1824055Z               "line": 182
2026-06-10T07:08:01.1824336Z             },
2026-06-10T07:08:01.1824623Z             {
2026-06-10T07:08:01.1824985Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:01.1825477Z               "line": 81
2026-06-10T07:08:01.1825753Z             },
2026-06-10T07:08:01.1826056Z             {
2026-06-10T07:08:01.1826388Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1826899Z               "line": 1187
2026-06-10T07:08:01.1827185Z             },
2026-06-10T07:08:01.1827457Z             {
2026-06-10T07:08:01.1827800Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.1828091Z               "line": 179
2026-06-10T07:08:01.1828377Z             },
2026-06-10T07:08:01.1828651Z             {
2026-06-10T07:08:01.1829074Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.1829470Z               "line": 215
2026-06-10T07:08:01.1829770Z             }
2026-06-10T07:08:01.1830052Z           ]
2026-06-10T07:08:01.1830325Z         },
2026-06-10T07:08:01.1830601Z         "int": {
2026-06-10T07:08:01.1830896Z           "complete": true,
2026-06-10T07:08:01.1831187Z           "evidence": [
2026-06-10T07:08:01.1831467Z             {
2026-06-10T07:08:01.1831857Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.1832152Z               "line": 651
2026-06-10T07:08:01.1832434Z             },
2026-06-10T07:08:01.1832735Z             {
2026-06-10T07:08:01.1833121Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.1833421Z               "line": 1019
2026-06-10T07:08:01.1833711Z             },
2026-06-10T07:08:01.1833991Z             {
2026-06-10T07:08:01.1834343Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.1834630Z               "line": 725
2026-06-10T07:08:01.1834925Z             }
2026-06-10T07:08:01.1835202Z           ]
2026-06-10T07:08:01.1835488Z         },
2026-06-10T07:08:01.1835779Z         "unit": {
2026-06-10T07:08:01.1836080Z           "complete": true,
2026-06-10T07:08:01.1836693Z           "evidence": [
2026-06-10T07:08:01.1837006Z             {
2026-06-10T07:08:01.1837383Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.1837683Z               "line": 660
2026-06-10T07:08:01.1837964Z             },
2026-06-10T07:08:01.1841393Z             {
2026-06-10T07:08:01.1841824Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.1842131Z               "line": 897
2026-06-10T07:08:01.1842413Z             },
2026-06-10T07:08:01.1842727Z             {
2026-06-10T07:08:01.1843100Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-10T07:08:01.1843386Z               "line": 66
2026-06-10T07:08:01.1843671Z             },
2026-06-10T07:08:01.1843948Z             {
2026-06-10T07:08:01.1844333Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.1844626Z               "line": 272
2026-06-10T07:08:01.1844908Z             },
2026-06-10T07:08:01.1845180Z             {
2026-06-10T07:08:01.1845537Z               "path": "crates/spt/src/api/worker.rs",
2026-06-10T07:08:01.1845824Z               "line": 201
2026-06-10T07:08:01.1846100Z             }
2026-06-10T07:08:01.1846382Z           ]
2026-06-10T07:08:01.1846650Z         }
2026-06-10T07:08:01.1846926Z       }
2026-06-10T07:08:01.1847200Z     },
2026-06-10T07:08:01.1847469Z     {
2026-06-10T07:08:01.1847775Z       "id": "REQ-INST-7",
2026-06-10T07:08:01.1848210Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-10T07:08:01.1848519Z       "requiredStages": [
2026-06-10T07:08:01.1848796Z         "impl",
2026-06-10T07:08:01.1849164Z         "unit",
2026-06-10T07:08:01.1849440Z         "int"
2026-06-10T07:08:01.1849720Z       ],
2026-06-10T07:08:01.1850008Z       "stages": {
2026-06-10T07:08:01.1850281Z         "doc": {
2026-06-10T07:08:01.1850581Z           "complete": false,
2026-06-10T07:08:01.1850867Z           "evidence": []
2026-06-10T07:08:01.1851139Z         },
2026-06-10T07:08:01.1851416Z         "impl": {
2026-06-10T07:08:01.1851721Z           "complete": true,
2026-06-10T07:08:01.1852016Z           "evidence": [
2026-06-10T07:08:01.1852297Z             {
2026-06-10T07:08:01.1852678Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.1852968Z               "line": 436
2026-06-10T07:08:01.1853249Z             },
2026-06-10T07:08:01.1853526Z             {
2026-06-10T07:08:01.1854079Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.1854366Z               "line": 42
2026-06-10T07:08:01.1854648Z             },
2026-06-10T07:08:01.1854931Z             {
2026-06-10T07:08:01.1855331Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1855631Z               "line": 27
2026-06-10T07:08:01.1855903Z             },
2026-06-10T07:08:01.1856284Z             {
2026-06-10T07:08:01.1856689Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1856975Z               "line": 191
2026-06-10T07:08:01.1857257Z             },
2026-06-10T07:08:01.1857534Z             {
2026-06-10T07:08:01.1857936Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1858222Z               "line": 328
2026-06-10T07:08:01.1858498Z             },
2026-06-10T07:08:01.1858785Z             {
2026-06-10T07:08:01.1859241Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-10T07:08:01.1859547Z               "line": 59
2026-06-10T07:08:01.1859824Z             },
2026-06-10T07:08:01.1860101Z             {
2026-06-10T07:08:01.1860484Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1860779Z               "line": 41
2026-06-10T07:08:01.1861065Z             },
2026-06-10T07:08:01.1861342Z             {
2026-06-10T07:08:01.1861732Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.1862024Z               "line": 27
2026-06-10T07:08:01.1862300Z             },
2026-06-10T07:08:01.1862576Z             {
2026-06-10T07:08:01.1862963Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.1863247Z               "line": 119
2026-06-10T07:08:01.1863528Z             },
2026-06-10T07:08:01.1863809Z             {
2026-06-10T07:08:01.1864196Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.1864491Z               "line": 134
2026-06-10T07:08:01.1864778Z             },
2026-06-10T07:08:01.1865049Z             {
2026-06-10T07:08:01.1865420Z               "path": "crates/spt-store/src/registry.rs",
2026-06-10T07:08:01.1865700Z               "line": 139
2026-06-10T07:08:01.1865995Z             }
2026-06-10T07:08:01.1866267Z           ]
2026-06-10T07:08:01.1866544Z         },
2026-06-10T07:08:01.1866821Z         "int": {
2026-06-10T07:08:01.1867121Z           "complete": true,
2026-06-10T07:08:01.1867407Z           "evidence": [
2026-06-10T07:08:01.1867693Z             {
2026-06-10T07:08:01.1868085Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-10T07:08:01.1868373Z               "line": 102
2026-06-10T07:08:01.1868652Z             },
2026-06-10T07:08:01.1868938Z             {
2026-06-10T07:08:01.1869402Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.1869697Z               "line": 595
2026-06-10T07:08:01.1869974Z             },
2026-06-10T07:08:01.1870304Z             {
2026-06-10T07:08:01.1870684Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.1870983Z               "line": 869
2026-06-10T07:08:01.1871262Z             }
2026-06-10T07:08:01.1871538Z           ]
2026-06-10T07:08:01.1871819Z         },
2026-06-10T07:08:01.1872092Z         "unit": {
2026-06-10T07:08:01.1872397Z           "complete": true,
2026-06-10T07:08:01.1872673Z           "evidence": [
2026-06-10T07:08:01.1872955Z             {
2026-06-10T07:08:01.1873360Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1873650Z               "line": 1052
2026-06-10T07:08:01.1873923Z             },
2026-06-10T07:08:01.1874190Z             {
2026-06-10T07:08:01.1874590Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.1874880Z               "line": 1383
2026-06-10T07:08:01.1875186Z             },
2026-06-10T07:08:01.1875463Z             {
2026-06-10T07:08:01.1875857Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-10T07:08:01.1876147Z               "line": 84
2026-06-10T07:08:01.1876536Z             },
2026-06-10T07:08:01.1876818Z             {
2026-06-10T07:08:01.1877203Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1877495Z               "line": 763
2026-06-10T07:08:01.1877771Z             },
2026-06-10T07:08:01.1878048Z             {
2026-06-10T07:08:01.1878428Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1878815Z               "line": 774
2026-06-10T07:08:01.1879178Z             },
2026-06-10T07:08:01.1879460Z             {
2026-06-10T07:08:01.1879841Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1880137Z               "line": 789
2026-06-10T07:08:01.1880414Z             },
2026-06-10T07:08:01.1880695Z             {
2026-06-10T07:08:01.1881087Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.1881376Z               "line": 165
2026-06-10T07:08:01.1881660Z             },
2026-06-10T07:08:01.1881933Z             {
2026-06-10T07:08:01.1882327Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.1882628Z               "line": 180
2026-06-10T07:08:01.1882905Z             },
2026-06-10T07:08:01.1883177Z             {
2026-06-10T07:08:01.1883567Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.1883858Z               "line": 213
2026-06-10T07:08:01.1884131Z             }
2026-06-10T07:08:01.1884425Z           ]
2026-06-10T07:08:01.1884697Z         }
2026-06-10T07:08:01.1884973Z       }
2026-06-10T07:08:01.1885239Z     },
2026-06-10T07:08:01.1885512Z     {
2026-06-10T07:08:01.1885817Z       "id": "REQ-INST-8",
2026-06-10T07:08:01.1886319Z       "title": "Remote-control mode distinct from local operation",
2026-06-10T07:08:01.1886636Z       "requiredStages": [
2026-06-10T07:08:01.1886930Z         "impl",
2026-06-10T07:08:01.1887249Z         "unit",
2026-06-10T07:08:01.1887520Z         "int"
2026-06-10T07:08:01.1887792Z       ],
2026-06-10T07:08:01.1888074Z       "stages": {
2026-06-10T07:08:01.1888345Z         "doc": {
2026-06-10T07:08:01.1888641Z           "complete": false,
2026-06-10T07:08:01.1888928Z           "evidence": []
2026-06-10T07:08:01.1889285Z         },
2026-06-10T07:08:01.1889560Z         "impl": {
2026-06-10T07:08:01.1889849Z           "complete": true,
2026-06-10T07:08:01.1890145Z           "evidence": [
2026-06-10T07:08:01.1890411Z             {
2026-06-10T07:08:01.1890789Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-10T07:08:01.1891080Z               "line": 98
2026-06-10T07:08:01.1891360Z             },
2026-06-10T07:08:01.1891628Z             {
2026-06-10T07:08:01.1892007Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-10T07:08:01.1892300Z               "line": 209
2026-06-10T07:08:01.1892578Z             },
2026-06-10T07:08:01.1892845Z             {
2026-06-10T07:08:01.1893240Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-10T07:08:01.1893527Z               "line": 230
2026-06-10T07:08:01.1893803Z             },
2026-06-10T07:08:01.1894084Z             {
2026-06-10T07:08:01.1894451Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-10T07:08:01.1894733Z               "line": 35
2026-06-10T07:08:01.1895014Z             }
2026-06-10T07:08:01.1895281Z           ]
2026-06-10T07:08:01.1895557Z         },
2026-06-10T07:08:01.1895828Z         "int": {
2026-06-10T07:08:01.1896124Z           "complete": true,
2026-06-10T07:08:01.1896425Z           "evidence": [
2026-06-10T07:08:01.1896888Z             {
2026-06-10T07:08:01.1897297Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.1897587Z               "line": 415
2026-06-10T07:08:01.1897862Z             },
2026-06-10T07:08:01.1898134Z             {
2026-06-10T07:08:01.1898511Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.1898801Z               "line": 933
2026-06-10T07:08:01.1899160Z             }
2026-06-10T07:08:01.1899431Z           ]
2026-06-10T07:08:01.1899703Z         },
2026-06-10T07:08:01.1899982Z         "unit": {
2026-06-10T07:08:01.1900395Z           "complete": true,
2026-06-10T07:08:01.1900686Z           "evidence": [
2026-06-10T07:08:01.1900976Z             {
2026-06-10T07:08:01.1901349Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-10T07:08:01.1901645Z               "line": 181
2026-06-10T07:08:01.1901920Z             },
2026-06-10T07:08:01.1902202Z             {
2026-06-10T07:08:01.1902691Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-10T07:08:01.1902995Z               "line": 259
2026-06-10T07:08:01.1903277Z             },
2026-06-10T07:08:01.1903553Z             {
2026-06-10T07:08:01.1903935Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-10T07:08:01.1904221Z               "line": 70
2026-06-10T07:08:01.1904502Z             },
2026-06-10T07:08:01.1904778Z             {
2026-06-10T07:08:01.1905392Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-10T07:08:01.1905688Z               "line": 110
2026-06-10T07:08:01.1905974Z             }
2026-06-10T07:08:01.1906246Z           ]
2026-06-10T07:08:01.1906518Z         }
2026-06-10T07:08:01.1906790Z       }
2026-06-10T07:08:01.1907061Z     },
2026-06-10T07:08:01.1907332Z     {
2026-06-10T07:08:01.1907623Z       "id": "REQ-INST-9",
2026-06-10T07:08:01.1908189Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-10T07:08:01.1908503Z       "requiredStages": [
2026-06-10T07:08:01.1908794Z         "impl",
2026-06-10T07:08:01.1909171Z         "unit"
2026-06-10T07:08:01.1909437Z       ],
2026-06-10T07:08:01.1909729Z       "stages": {
2026-06-10T07:08:01.1910011Z         "doc": {
2026-06-10T07:08:01.1910306Z           "complete": false,
2026-06-10T07:08:01.1910604Z           "evidence": []
2026-06-10T07:08:01.1910883Z         },
2026-06-10T07:08:01.1911169Z         "impl": {
2026-06-10T07:08:01.1911464Z           "complete": true,
2026-06-10T07:08:01.1911751Z           "evidence": [
2026-06-10T07:08:01.1912037Z             {
2026-06-10T07:08:01.1912423Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1912719Z               "line": 401
2026-06-10T07:08:01.1912990Z             }
2026-06-10T07:08:01.1913270Z           ]
2026-06-10T07:08:01.1913541Z         },
2026-06-10T07:08:01.1913822Z         "int": {
2026-06-10T07:08:01.1914123Z           "complete": false,
2026-06-10T07:08:01.1914413Z           "evidence": []
2026-06-10T07:08:01.1914699Z         },
2026-06-10T07:08:01.1914985Z         "unit": {
2026-06-10T07:08:01.1915286Z           "complete": true,
2026-06-10T07:08:01.1915562Z           "evidence": [
2026-06-10T07:08:01.1915853Z             {
2026-06-10T07:08:01.1916243Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1916525Z               "line": 1300
2026-06-10T07:08:01.1916811Z             },
2026-06-10T07:08:01.1917083Z             {
2026-06-10T07:08:01.1917464Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1917760Z               "line": 1309
2026-06-10T07:08:01.1918065Z             },
2026-06-10T07:08:01.1918345Z             {
2026-06-10T07:08:01.1918725Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1919077Z               "line": 1325
2026-06-10T07:08:01.1919354Z             },
2026-06-10T07:08:01.1919631Z             {
2026-06-10T07:08:01.1920012Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1920312Z               "line": 1337
2026-06-10T07:08:01.1920594Z             },
2026-06-10T07:08:01.1920866Z             {
2026-06-10T07:08:01.1921255Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.1921549Z               "line": 1357
2026-06-10T07:08:01.1921825Z             }
2026-06-10T07:08:01.1922101Z           ]
2026-06-10T07:08:01.1922382Z         }
2026-06-10T07:08:01.1922664Z       }
2026-06-10T07:08:01.1922940Z     },
2026-06-10T07:08:01.1923217Z     {
2026-06-10T07:08:01.1923518Z       "id": "REQ-INSTALL-1",
2026-06-10T07:08:01.1924135Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-10T07:08:01.1924563Z       "requiredStages": [
2026-06-10T07:08:01.1924850Z         "doc",
2026-06-10T07:08:01.1925130Z         "impl",
2026-06-10T07:08:01.1925408Z         "int"
2026-06-10T07:08:01.1925690Z       ],
2026-06-10T07:08:01.1925971Z       "stages": {
2026-06-10T07:08:01.1926267Z         "doc": {
2026-06-10T07:08:01.1926675Z           "complete": true,
2026-06-10T07:08:01.1926971Z           "evidence": [
2026-06-10T07:08:01.1927252Z             {
2026-06-10T07:08:01.1927557Z               "path": "CONTEXT.md",
2026-06-10T07:08:01.1927847Z               "line": 576
2026-06-10T07:08:01.1928124Z             }
2026-06-10T07:08:01.1928400Z           ]
2026-06-10T07:08:01.1928662Z         },
2026-06-10T07:08:01.1929027Z         "impl": {
2026-06-10T07:08:01.1929332Z           "complete": true,
2026-06-10T07:08:01.1929618Z           "evidence": [
2026-06-10T07:08:01.1929895Z             {
2026-06-10T07:08:01.1930238Z               "path": "installer/install.ps1",
2026-06-10T07:08:01.1930543Z               "line": 57
2026-06-10T07:08:01.1930816Z             },
2026-06-10T07:08:01.1931098Z             {
2026-06-10T07:08:01.1931431Z               "path": "installer/install.sh",
2026-06-10T07:08:01.1931720Z               "line": 52
2026-06-10T07:08:01.1932003Z             }
2026-06-10T07:08:01.1932275Z           ]
2026-06-10T07:08:01.1932571Z         },
2026-06-10T07:08:01.1932848Z         "int": {
2026-06-10T07:08:01.1933143Z           "complete": true,
2026-06-10T07:08:01.1933435Z           "evidence": [
2026-06-10T07:08:01.1933707Z             {
2026-06-10T07:08:01.1934088Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-10T07:08:01.1934372Z               "line": 21
2026-06-10T07:08:01.1934651Z             }
2026-06-10T07:08:01.1934923Z           ]
2026-06-10T07:08:01.1935199Z         },
2026-06-10T07:08:01.1935485Z         "unit": {
2026-06-10T07:08:01.1935776Z           "complete": false,
2026-06-10T07:08:01.1936082Z           "evidence": []
2026-06-10T07:08:01.1936353Z         }
2026-06-10T07:08:01.1936630Z       }
2026-06-10T07:08:01.1936903Z     },
2026-06-10T07:08:01.1937182Z     {
2026-06-10T07:08:01.1937487Z       "id": "REQ-INSTALL-2",
2026-06-10T07:08:01.1937902Z       "title": "Marketplace-repackaging-friendly install",
2026-06-10T07:08:01.1938208Z       "requiredStages": [
2026-06-10T07:08:01.1938480Z         "doc"
2026-06-10T07:08:01.1938761Z       ],
2026-06-10T07:08:01.1939125Z       "stages": {
2026-06-10T07:08:01.1939408Z         "doc": {
2026-06-10T07:08:01.1939715Z           "complete": true,
2026-06-10T07:08:01.1940001Z           "evidence": [
2026-06-10T07:08:01.1940273Z             {
2026-06-10T07:08:01.1940574Z               "path": "CONTEXT.md",
2026-06-10T07:08:01.1940860Z               "line": 577
2026-06-10T07:08:01.1941132Z             }
2026-06-10T07:08:01.1941404Z           ]
2026-06-10T07:08:01.1941681Z         },
2026-06-10T07:08:01.1941953Z         "impl": {
2026-06-10T07:08:01.1942260Z           "complete": false,
2026-06-10T07:08:01.1942554Z           "evidence": []
2026-06-10T07:08:01.1942821Z         },
2026-06-10T07:08:01.1943103Z         "int": {
2026-06-10T07:08:01.1943404Z           "complete": false,
2026-06-10T07:08:01.1943703Z           "evidence": []
2026-06-10T07:08:01.1943976Z         },
2026-06-10T07:08:01.1944252Z         "unit": {
2026-06-10T07:08:01.1944548Z           "complete": false,
2026-06-10T07:08:01.1944847Z           "evidence": []
2026-06-10T07:08:01.1945331Z         }
2026-06-10T07:08:01.1945617Z       }
2026-06-10T07:08:01.1945894Z     },
2026-06-10T07:08:01.1946161Z     {
2026-06-10T07:08:01.1946461Z       "id": "REQ-INSTALL-3",
2026-06-10T07:08:01.1946899Z       "title": "Idempotent + interactive-optional first run",
2026-06-10T07:08:01.1947191Z       "requiredStages": [
2026-06-10T07:08:01.1947468Z         "impl",
2026-06-10T07:08:01.1947747Z         "int"
2026-06-10T07:08:01.1948028Z       ],
2026-06-10T07:08:01.1948305Z       "stages": {
2026-06-10T07:08:01.1948706Z         "doc": {
2026-06-10T07:08:01.1949092Z           "complete": false,
2026-06-10T07:08:01.1949435Z           "evidence": []
2026-06-10T07:08:01.1949713Z         },
2026-06-10T07:08:01.1949997Z         "impl": {
2026-06-10T07:08:01.1950290Z           "complete": true,
2026-06-10T07:08:01.1950581Z           "evidence": [
2026-06-10T07:08:01.1950862Z             {
2026-06-10T07:08:01.1951195Z               "path": "installer/install.ps1",
2026-06-10T07:08:01.1951588Z               "line": 100
2026-06-10T07:08:01.1951869Z             },
2026-06-10T07:08:01.1952149Z             {
2026-06-10T07:08:01.1952489Z               "path": "installer/install.ps1",
2026-06-10T07:08:01.1952777Z               "line": 111
2026-06-10T07:08:01.1953062Z             },
2026-06-10T07:08:01.1953338Z             {
2026-06-10T07:08:01.1953672Z               "path": "installer/install.sh",
2026-06-10T07:08:01.1953964Z               "line": 79
2026-06-10T07:08:01.1954249Z             }
2026-06-10T07:08:01.1954531Z           ]
2026-06-10T07:08:01.1954812Z         },
2026-06-10T07:08:01.1955137Z         "int": {
2026-06-10T07:08:01.1955426Z           "complete": true,
2026-06-10T07:08:01.1955709Z           "evidence": [
2026-06-10T07:08:01.1955981Z             {
2026-06-10T07:08:01.1956368Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-10T07:08:01.1956658Z               "line": 167
2026-06-10T07:08:01.1956949Z             }
2026-06-10T07:08:01.1957226Z           ]
2026-06-10T07:08:01.1957502Z         },
2026-06-10T07:08:01.1957784Z         "unit": {
2026-06-10T07:08:01.1958085Z           "complete": false,
2026-06-10T07:08:01.1958384Z           "evidence": []
2026-06-10T07:08:01.1958656Z         }
2026-06-10T07:08:01.1958928Z       }
2026-06-10T07:08:01.1959310Z     },
2026-06-10T07:08:01.1959581Z     {
2026-06-10T07:08:01.1959901Z       "id": "REQ-INSTALL-4",
2026-06-10T07:08:01.1961923Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-10T07:08:01.1962242Z       "requiredStages": [
2026-06-10T07:08:01.1962529Z         "impl",
2026-06-10T07:08:01.1962807Z         "unit"
2026-06-10T07:08:01.1963082Z       ],
2026-06-10T07:08:01.1963366Z       "stages": {
2026-06-10T07:08:01.1963650Z         "doc": {
2026-06-10T07:08:01.1963955Z           "complete": false,
2026-06-10T07:08:01.1964256Z           "evidence": []
2026-06-10T07:08:01.1964542Z         },
2026-06-10T07:08:01.1964819Z         "impl": {
2026-06-10T07:08:01.1965119Z           "complete": true,
2026-06-10T07:08:01.1965406Z           "evidence": [
2026-06-10T07:08:01.1965692Z             {
2026-06-10T07:08:01.1966108Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.1966428Z               "line": 154
2026-06-10T07:08:01.1966709Z             },
2026-06-10T07:08:01.1966981Z             {
2026-06-10T07:08:01.1967376Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-10T07:08:01.1967667Z               "line": 29
2026-06-10T07:08:01.1967949Z             },
2026-06-10T07:08:01.1968221Z             {
2026-06-10T07:08:01.1968612Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-10T07:08:01.1968916Z               "line": 117
2026-06-10T07:08:01.1969282Z             },
2026-06-10T07:08:01.1969569Z             {
2026-06-10T07:08:01.1969964Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-10T07:08:01.1970259Z               "line": 161
2026-06-10T07:08:01.1970551Z             },
2026-06-10T07:08:01.1970829Z             {
2026-06-10T07:08:01.1971216Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-10T07:08:01.1971506Z               "line": 191
2026-06-10T07:08:01.1971788Z             },
2026-06-10T07:08:01.1972069Z             {
2026-06-10T07:08:01.1972445Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-10T07:08:01.1972742Z               "line": 223
2026-06-10T07:08:01.1973131Z             },
2026-06-10T07:08:01.1973413Z             {
2026-06-10T07:08:01.1973742Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1974032Z               "line": 4148
2026-06-10T07:08:01.1974311Z             }
2026-06-10T07:08:01.1974587Z           ]
2026-06-10T07:08:01.1974868Z         },
2026-06-10T07:08:01.1975250Z         "int": {
2026-06-10T07:08:01.1975803Z           "complete": false,
2026-06-10T07:08:01.1976089Z           "evidence": []
2026-06-10T07:08:01.1976361Z         },
2026-06-10T07:08:01.1976631Z         "unit": {
2026-06-10T07:08:01.1976936Z           "complete": true,
2026-06-10T07:08:01.1977221Z           "evidence": [
2026-06-10T07:08:01.1977498Z             {
2026-06-10T07:08:01.1977917Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.1978208Z               "line": 335
2026-06-10T07:08:01.1978490Z             },
2026-06-10T07:08:01.1978757Z             {
2026-06-10T07:08:01.1979237Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-10T07:08:01.1979534Z               "line": 269
2026-06-10T07:08:01.1979810Z             },
2026-06-10T07:08:01.1980081Z             {
2026-06-10T07:08:01.1980472Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-10T07:08:01.1980754Z               "line": 310
2026-06-10T07:08:01.1981030Z             },
2026-06-10T07:08:01.1981301Z             {
2026-06-10T07:08:01.1981679Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-10T07:08:01.1981963Z               "line": 330
2026-06-10T07:08:01.1982251Z             },
2026-06-10T07:08:01.1982528Z             {
2026-06-10T07:08:01.1982862Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.1983152Z               "line": 5738
2026-06-10T07:08:01.1983430Z             }
2026-06-10T07:08:01.1983710Z           ]
2026-06-10T07:08:01.1984016Z         }
2026-06-10T07:08:01.1984293Z       }
2026-06-10T07:08:01.1984563Z     },
2026-06-10T07:08:01.1984838Z     {
2026-06-10T07:08:01.1985147Z       "id": "REQ-INSTALL-5",
2026-06-10T07:08:01.1986697Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-10T07:08:01.1987010Z       "requiredStages": [
2026-06-10T07:08:01.1987285Z         "impl",
2026-06-10T07:08:01.1987562Z         "int"
2026-06-10T07:08:01.1987843Z       ],
2026-06-10T07:08:01.1988124Z       "stages": {
2026-06-10T07:08:01.1988740Z         "doc": {
2026-06-10T07:08:01.1989303Z           "complete": false,
2026-06-10T07:08:01.1989593Z           "evidence": []
2026-06-10T07:08:01.1989873Z         },
2026-06-10T07:08:01.1990155Z         "impl": {
2026-06-10T07:08:01.1990455Z           "complete": true,
2026-06-10T07:08:01.1990746Z           "evidence": [
2026-06-10T07:08:01.1991028Z             {
2026-06-10T07:08:01.1991375Z               "path": "installer/install.ps1",
2026-06-10T07:08:01.1991662Z               "line": 5
2026-06-10T07:08:01.1991949Z             },
2026-06-10T07:08:01.1992232Z             {
2026-06-10T07:08:01.1992559Z               "path": "installer/install.sh",
2026-06-10T07:08:01.1992855Z               "line": 6
2026-06-10T07:08:01.1993140Z             }
2026-06-10T07:08:01.1993417Z           ]
2026-06-10T07:08:01.1993698Z         },
2026-06-10T07:08:01.1993981Z         "int": {
2026-06-10T07:08:01.1994284Z           "complete": true,
2026-06-10T07:08:01.1994571Z           "evidence": [
2026-06-10T07:08:01.1994849Z             {
2026-06-10T07:08:01.1995227Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-10T07:08:01.1995527Z               "line": 22
2026-06-10T07:08:01.1995808Z             }
2026-06-10T07:08:01.1996227Z           ]
2026-06-10T07:08:01.1996533Z         },
2026-06-10T07:08:01.1996851Z         "unit": {
2026-06-10T07:08:01.1997152Z           "complete": false,
2026-06-10T07:08:01.1997448Z           "evidence": []
2026-06-10T07:08:01.1997728Z         }
2026-06-10T07:08:01.1998141Z       }
2026-06-10T07:08:01.1998418Z     },
2026-06-10T07:08:01.1998689Z     {
2026-06-10T07:08:01.1999066Z       "id": "REQ-INSTALL-6",
2026-06-10T07:08:01.2002579Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-10T07:08:01.2002995Z       "requiredStages": [
2026-06-10T07:08:01.2003267Z         "impl",
2026-06-10T07:08:01.2003544Z         "unit"
2026-06-10T07:08:01.2003816Z       ],
2026-06-10T07:08:01.2004097Z       "stages": {
2026-06-10T07:08:01.2004364Z         "doc": {
2026-06-10T07:08:01.2004664Z           "complete": false,
2026-06-10T07:08:01.2004955Z           "evidence": []
2026-06-10T07:08:01.2005231Z         },
2026-06-10T07:08:01.2005555Z         "impl": {
2026-06-10T07:08:01.2005838Z           "complete": true,
2026-06-10T07:08:01.2006125Z           "evidence": [
2026-06-10T07:08:01.2006396Z             {
2026-06-10T07:08:01.2006764Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.2007045Z               "line": 59
2026-06-10T07:08:01.2007318Z             },
2026-06-10T07:08:01.2007589Z             {
2026-06-10T07:08:01.2007980Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.2008260Z               "line": 559
2026-06-10T07:08:01.2008538Z             },
2026-06-10T07:08:01.2008805Z             {
2026-06-10T07:08:01.2009283Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.2009564Z               "line": 191
2026-06-10T07:08:01.2009837Z             },
2026-06-10T07:08:01.2010108Z             {
2026-06-10T07:08:01.2010495Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.2010791Z               "line": 276
2026-06-10T07:08:01.2011074Z             },
2026-06-10T07:08:01.2011345Z             {
2026-06-10T07:08:01.2011679Z               "path": "crates/spt/src/main.rs",
2026-06-10T07:08:01.2011970Z               "line": 40
2026-06-10T07:08:01.2012247Z             },
2026-06-10T07:08:01.2012529Z             {
2026-06-10T07:08:01.2012867Z               "path": "installer/install.sh",
2026-06-10T07:08:01.2013153Z               "line": 104
2026-06-10T07:08:01.2013442Z             }
2026-06-10T07:08:01.2013718Z           ]
2026-06-10T07:08:01.2013999Z         },
2026-06-10T07:08:01.2014275Z         "int": {
2026-06-10T07:08:01.2014576Z           "complete": false,
2026-06-10T07:08:01.2014866Z           "evidence": []
2026-06-10T07:08:01.2015134Z         },
2026-06-10T07:08:01.2015419Z         "unit": {
2026-06-10T07:08:01.2015706Z           "complete": true,
2026-06-10T07:08:01.2015997Z           "evidence": [
2026-06-10T07:08:01.2016258Z             {
2026-06-10T07:08:01.2016642Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-10T07:08:01.2016938Z               "line": 866
2026-06-10T07:08:01.2017210Z             }
2026-06-10T07:08:01.2017510Z           ]
2026-06-10T07:08:01.2017781Z         }
2026-06-10T07:08:01.2018077Z       }
2026-06-10T07:08:01.2018334Z     },
2026-06-10T07:08:01.2018625Z     {
2026-06-10T07:08:01.2018941Z       "id": "REQ-INSTALL-7",
2026-06-10T07:08:01.2022192Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-10T07:08:01.2022521Z       "requiredStages": [
2026-06-10T07:08:01.2022798Z         "impl"
2026-06-10T07:08:01.2023084Z       ],
2026-06-10T07:08:01.2023375Z       "stages": {
2026-06-10T07:08:01.2023657Z         "doc": {
2026-06-10T07:08:01.2023960Z           "complete": false,
2026-06-10T07:08:01.2024373Z           "evidence": []
2026-06-10T07:08:01.2024654Z         },
2026-06-10T07:08:01.2024941Z         "impl": {
2026-06-10T07:08:01.2025246Z           "complete": true,
2026-06-10T07:08:01.2025537Z           "evidence": [
2026-06-10T07:08:01.2025814Z             {
2026-06-10T07:08:01.2026148Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2026656Z               "line": 2812
2026-06-10T07:08:01.2026949Z             },
2026-06-10T07:08:01.2027217Z             {
2026-06-10T07:08:01.2027560Z               "path": "installer/install.ps1",
2026-06-10T07:08:01.2027850Z               "line": 157
2026-06-10T07:08:01.2028123Z             }
2026-06-10T07:08:01.2028409Z           ]
2026-06-10T07:08:01.2028691Z         },
2026-06-10T07:08:01.2029048Z         "int": {
2026-06-10T07:08:01.2029346Z           "complete": false,
2026-06-10T07:08:01.2029640Z           "evidence": []
2026-06-10T07:08:01.2029921Z         },
2026-06-10T07:08:01.2030197Z         "unit": {
2026-06-10T07:08:01.2030521Z           "complete": false,
2026-06-10T07:08:01.2030798Z           "evidence": []
2026-06-10T07:08:01.2031075Z         }
2026-06-10T07:08:01.2031361Z       }
2026-06-10T07:08:01.2031634Z     },
2026-06-10T07:08:01.2031906Z     {
2026-06-10T07:08:01.2032209Z       "id": "REQ-INSTALL-8",
2026-06-10T07:08:01.2035534Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-10T07:08:01.2035849Z       "requiredStages": [
2026-06-10T07:08:01.2036130Z         "impl"
2026-06-10T07:08:01.2036421Z       ],
2026-06-10T07:08:01.2036713Z       "stages": {
2026-06-10T07:08:01.2036989Z         "doc": {
2026-06-10T07:08:01.2037282Z           "complete": false,
2026-06-10T07:08:01.2037580Z           "evidence": []
2026-06-10T07:08:01.2037862Z         },
2026-06-10T07:08:01.2038148Z         "impl": {
2026-06-10T07:08:01.2038454Z           "complete": true,
2026-06-10T07:08:01.2038740Z           "evidence": [
2026-06-10T07:08:01.2039092Z             {
2026-06-10T07:08:01.2039435Z               "path": "installer/install.ps1",
2026-06-10T07:08:01.2039735Z               "line": 184
2026-06-10T07:08:01.2040011Z             },
2026-06-10T07:08:01.2040296Z             {
2026-06-10T07:08:01.2040634Z               "path": "installer/install.sh",
2026-06-10T07:08:01.2040921Z               "line": 121
2026-06-10T07:08:01.2041197Z             }
2026-06-10T07:08:01.2041473Z           ]
2026-06-10T07:08:01.2041759Z         },
2026-06-10T07:08:01.2042035Z         "int": {
2026-06-10T07:08:01.2042341Z           "complete": false,
2026-06-10T07:08:01.2042683Z           "evidence": []
2026-06-10T07:08:01.2042950Z         },
2026-06-10T07:08:01.2043242Z         "unit": {
2026-06-10T07:08:01.2043532Z           "complete": false,
2026-06-10T07:08:01.2043832Z           "evidence": []
2026-06-10T07:08:01.2044110Z         }
2026-06-10T07:08:01.2044391Z       }
2026-06-10T07:08:01.2044672Z     },
2026-06-10T07:08:01.2044942Z     {
2026-06-10T07:08:01.2045249Z       "id": "REQ-MANIFEST-1",
2026-06-10T07:08:01.2045827Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-10T07:08:01.2046141Z       "requiredStages": [
2026-06-10T07:08:01.2046419Z         "doc",
2026-06-10T07:08:01.2046700Z         "impl",
2026-06-10T07:08:01.2046982Z         "unit"
2026-06-10T07:08:01.2047259Z       ],
2026-06-10T07:08:01.2047544Z       "stages": {
2026-06-10T07:08:01.2047818Z         "doc": {
2026-06-10T07:08:01.2048112Z           "complete": true,
2026-06-10T07:08:01.2048399Z           "evidence": [
2026-06-10T07:08:01.2048685Z             {
2026-06-10T07:08:01.2049080Z               "path": "docs/MANIFEST.md",
2026-06-10T07:08:01.2049657Z               "line": 19
2026-06-10T07:08:01.2049939Z             }
2026-06-10T07:08:01.2050211Z           ]
2026-06-10T07:08:01.2050495Z         },
2026-06-10T07:08:01.2050779Z         "impl": {
2026-06-10T07:08:01.2051089Z           "complete": true,
2026-06-10T07:08:01.2051380Z           "evidence": [
2026-06-10T07:08:01.2051670Z             {
2026-06-10T07:08:01.2052063Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2052440Z               "line": 18
2026-06-10T07:08:01.2052711Z             }
2026-06-10T07:08:01.2055564Z           ]
2026-06-10T07:08:01.2055872Z         },
2026-06-10T07:08:01.2056153Z         "int": {
2026-06-10T07:08:01.2056454Z           "complete": false,
2026-06-10T07:08:01.2056744Z           "evidence": []
2026-06-10T07:08:01.2057016Z         },
2026-06-10T07:08:01.2057298Z         "unit": {
2026-06-10T07:08:01.2057593Z           "complete": true,
2026-06-10T07:08:01.2057876Z           "evidence": [
2026-06-10T07:08:01.2058153Z             {
2026-06-10T07:08:01.2058573Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2058864Z               "line": 746
2026-06-10T07:08:01.2059240Z             },
2026-06-10T07:08:01.2059560Z             {
2026-06-10T07:08:01.2059974Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2060265Z               "line": 860
2026-06-10T07:08:01.2060546Z             },
2026-06-10T07:08:01.2060832Z             {
2026-06-10T07:08:01.2061220Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2061506Z               "line": 872
2026-06-10T07:08:01.2061793Z             },
2026-06-10T07:08:01.2062074Z             {
2026-06-10T07:08:01.2062465Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2062760Z               "line": 883
2026-06-10T07:08:01.2063032Z             },
2026-06-10T07:08:01.2063319Z             {
2026-06-10T07:08:01.2063700Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2064029Z               "line": 900
2026-06-10T07:08:01.2064309Z             },
2026-06-10T07:08:01.2064591Z             {
2026-06-10T07:08:01.2064981Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2065272Z               "line": 914
2026-06-10T07:08:01.2065550Z             },
2026-06-10T07:08:01.2065826Z             {
2026-06-10T07:08:01.2066210Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2066523Z               "line": 929
2026-06-10T07:08:01.2066804Z             },
2026-06-10T07:08:01.2067086Z             {
2026-06-10T07:08:01.2067473Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2067763Z               "line": 944
2026-06-10T07:08:01.2068030Z             },
2026-06-10T07:08:01.2068316Z             {
2026-06-10T07:08:01.2068684Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2069077Z               "line": 959
2026-06-10T07:08:01.2069357Z             },
2026-06-10T07:08:01.2069638Z             {
2026-06-10T07:08:01.2070034Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2070326Z               "line": 970
2026-06-10T07:08:01.2070601Z             }
2026-06-10T07:08:01.2070877Z           ]
2026-06-10T07:08:01.2071164Z         }
2026-06-10T07:08:01.2071444Z       }
2026-06-10T07:08:01.2071714Z     },
2026-06-10T07:08:01.2071991Z     {
2026-06-10T07:08:01.2072291Z       "id": "REQ-MESH-1",
2026-06-10T07:08:01.2078319Z       "title": "Membership proof (seed-proof): symmetric current-epoch seed-knowledge replaces is_trusted at EVERY inbound gate (registry apply, WAN receive, sync, notif, connection accept). MK = HKDF(seed, domain ‖ subnet_id ‖ seed_epoch); mutual channel-bound challenge-response at connect (transcript binds both handshake-proven node pubkeys, both nonces, subnet_id, seed_epoch, role); verified once per connection, cached on the broker ConnEntry, kept warm via QUIC keep-alive so re-proof is restart/partition/rotation-only. Exact-epoch match (re-seed is the sole N-1 exception). SECURITY INVARIANTS: channel-bound (no cross-connection replay), mutual, accepts a member it never paired (the mesh property).",
2026-06-10T07:08:01.2078799Z       "requiredStages": [
2026-06-10T07:08:01.2079167Z         "impl",
2026-06-10T07:08:01.2079452Z         "unit",
2026-06-10T07:08:01.2079730Z         "int"
2026-06-10T07:08:01.2080018Z       ],
2026-06-10T07:08:01.2080422Z       "stages": {
2026-06-10T07:08:01.2080703Z         "doc": {
2026-06-10T07:08:01.2081009Z           "complete": false,
2026-06-10T07:08:01.2081294Z           "evidence": []
2026-06-10T07:08:01.2081577Z         },
2026-06-10T07:08:01.2081859Z         "impl": {
2026-06-10T07:08:01.2082157Z           "complete": true,
2026-06-10T07:08:01.2082450Z           "evidence": [
2026-06-10T07:08:01.2082731Z             {
2026-06-10T07:08:01.2083114Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:01.2083404Z               "line": 680
2026-06-10T07:08:01.2083685Z             },
2026-06-10T07:08:01.2083966Z             {
2026-06-10T07:08:01.2084363Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2084654Z               "line": 38
2026-06-10T07:08:01.2084928Z             },
2026-06-10T07:08:01.2085242Z             {
2026-06-10T07:08:01.2085920Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2086220Z               "line": 161
2026-06-10T07:08:01.2086483Z             },
2026-06-10T07:08:01.2086759Z             {
2026-06-10T07:08:01.2087140Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2087424Z               "line": 206
2026-06-10T07:08:01.2087702Z             },
2026-06-10T07:08:01.2087977Z             {
2026-06-10T07:08:01.2088359Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2088668Z               "line": 57
2026-06-10T07:08:01.2089040Z             },
2026-06-10T07:08:01.2089321Z             {
2026-06-10T07:08:01.2089731Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2090045Z               "line": 24
2026-06-10T07:08:01.2090319Z             },
2026-06-10T07:08:01.2090592Z             {
2026-06-10T07:08:01.2091001Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2091287Z               "line": 142
2026-06-10T07:08:01.2091564Z             },
2026-06-10T07:08:01.2091836Z             {
2026-06-10T07:08:01.2092255Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2092546Z               "line": 162
2026-06-10T07:08:01.2092825Z             }
2026-06-10T07:08:01.2093101Z           ]
2026-06-10T07:08:01.2093378Z         },
2026-06-10T07:08:01.2093659Z         "int": {
2026-06-10T07:08:01.2093950Z           "complete": true,
2026-06-10T07:08:01.2094240Z           "evidence": [
2026-06-10T07:08:01.2094522Z             {
2026-06-10T07:08:01.2094928Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-10T07:08:01.2095243Z               "line": 67
2026-06-10T07:08:01.2095541Z             },
2026-06-10T07:08:01.2095817Z             {
2026-06-10T07:08:01.2096219Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-10T07:08:01.2096514Z               "line": 93
2026-06-10T07:08:01.2096780Z             },
2026-06-10T07:08:01.2097067Z             {
2026-06-10T07:08:01.2097458Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-10T07:08:01.2097753Z               "line": 117
2026-06-10T07:08:01.2098031Z             },
2026-06-10T07:08:01.2098304Z             {
2026-06-10T07:08:01.2098703Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-10T07:08:01.2099056Z               "line": 134
2026-06-10T07:08:01.2099332Z             }
2026-06-10T07:08:01.2099619Z           ]
2026-06-10T07:08:01.2099925Z         },
2026-06-10T07:08:01.2100214Z         "unit": {
2026-06-10T07:08:01.2100520Z           "complete": true,
2026-06-10T07:08:01.2100800Z           "evidence": [
2026-06-10T07:08:01.2101189Z             {
2026-06-10T07:08:01.2101580Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2101875Z               "line": 427
2026-06-10T07:08:01.2102153Z             },
2026-06-10T07:08:01.2102434Z             {
2026-06-10T07:08:01.2102839Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2103129Z               "line": 376
2026-06-10T07:08:01.2103507Z             },
2026-06-10T07:08:01.2103789Z             {
2026-06-10T07:08:01.2104209Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2104495Z               "line": 412
2026-06-10T07:08:01.2104777Z             },
2026-06-10T07:08:01.2105058Z             {
2026-06-10T07:08:01.2105469Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2105774Z               "line": 427
2026-06-10T07:08:01.2106048Z             },
2026-06-10T07:08:01.2106330Z             {
2026-06-10T07:08:01.2106740Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2107040Z               "line": 438
2026-06-10T07:08:01.2107322Z             },
2026-06-10T07:08:01.2107599Z             {
2026-06-10T07:08:01.2108013Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2108303Z               "line": 449
2026-06-10T07:08:01.2108586Z             },
2026-06-10T07:08:01.2108864Z             {
2026-06-10T07:08:01.2109369Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2109656Z               "line": 460
2026-06-10T07:08:01.2109932Z             },
2026-06-10T07:08:01.2110207Z             {
2026-06-10T07:08:01.2110610Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2110900Z               "line": 496
2026-06-10T07:08:01.2111175Z             },
2026-06-10T07:08:01.2111454Z             {
2026-06-10T07:08:01.2111849Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2112135Z               "line": 519
2026-06-10T07:08:01.2112412Z             },
2026-06-10T07:08:01.2112679Z             {
2026-06-10T07:08:01.2113094Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2113380Z               "line": 546
2026-06-10T07:08:01.2113661Z             }
2026-06-10T07:08:01.2113936Z           ]
2026-06-10T07:08:01.2114217Z         }
2026-06-10T07:08:01.2114494Z       }
2026-06-10T07:08:01.2114779Z     },
2026-06-10T07:08:01.2115060Z     {
2026-06-10T07:08:01.2115355Z       "id": "REQ-MESH-2",
2026-06-10T07:08:01.2122830Z       "title": "Member roster: node-level union-merge grow-set (per member: pubkey, label, machine_id, last-known address, last-seen — NOT the seed), the discovery directory the mesh dials by. Seeded IN FULL at pairing (seed-holder hands joiner the whole current roster, incl. offline members — folds in deferred pairing-time hostname capture + post-join address seeding); each node authors its own entry stamped with its lease_epoch, merged strictly-greater-wins (the node_label lease); exchanged only over seed-proof'd member connections; forgery-inert (a fake entry names a pubkey that still can't seed-proof). Removal needs a TOMBSTONE — a per-pubkey revoked marker that propagates, dominates the entry, gates admission (seed-proof ∧ ¬tombstoned), and prevents reinsert; cleared by a completed re-pair of that pubkey. Persists through silence (offline member keeps its entry).",
2026-06-10T07:08:01.2123197Z       "requiredStages": [
2026-06-10T07:08:01.2123479Z         "impl",
2026-06-10T07:08:01.2123760Z         "unit",
2026-06-10T07:08:01.2124047Z         "int"
2026-06-10T07:08:01.2124316Z       ],
2026-06-10T07:08:01.2124595Z       "stages": {
2026-06-10T07:08:01.2124909Z         "doc": {
2026-06-10T07:08:01.2125330Z           "complete": false,
2026-06-10T07:08:01.2125669Z           "evidence": []
2026-06-10T07:08:01.2125949Z         },
2026-06-10T07:08:01.2126240Z         "impl": {
2026-06-10T07:08:01.2126521Z           "complete": true,
2026-06-10T07:08:01.2126985Z           "evidence": [
2026-06-10T07:08:01.2127259Z             {
2026-06-10T07:08:01.2127641Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:01.2127933Z               "line": 569
2026-06-10T07:08:01.2128209Z             },
2026-06-10T07:08:01.2128484Z             {
2026-06-10T07:08:01.2128868Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.2129333Z               "line": 118
2026-06-10T07:08:01.2129613Z             },
2026-06-10T07:08:01.2129884Z             {
2026-06-10T07:08:01.2130260Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.2130571Z               "line": 347
2026-06-10T07:08:01.2130861Z             },
2026-06-10T07:08:01.2131129Z             {
2026-06-10T07:08:01.2131505Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.2131791Z               "line": 389
2026-06-10T07:08:01.2132069Z             },
2026-06-10T07:08:01.2132342Z             {
2026-06-10T07:08:01.2132722Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.2133023Z               "line": 403
2026-06-10T07:08:01.2133289Z             },
2026-06-10T07:08:01.2133561Z             {
2026-06-10T07:08:01.2133943Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.2134229Z               "line": 492
2026-06-10T07:08:01.2134505Z             },
2026-06-10T07:08:01.2134781Z             {
2026-06-10T07:08:01.2135531Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.2135837Z               "line": 507
2026-06-10T07:08:01.2136103Z             },
2026-06-10T07:08:01.2136381Z             {
2026-06-10T07:08:01.2136814Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.2137129Z               "line": 534
2026-06-10T07:08:01.2137406Z             },
2026-06-10T07:08:01.2137681Z             {
2026-06-10T07:08:01.2138067Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2138358Z               "line": 207
2026-06-10T07:08:01.2138635Z             },
2026-06-10T07:08:01.2138902Z             {
2026-06-10T07:08:01.2139374Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2139665Z               "line": 755
2026-06-10T07:08:01.2139950Z             },
2026-06-10T07:08:01.2140229Z             {
2026-06-10T07:08:01.2140663Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2140958Z               "line": 816
2026-06-10T07:08:01.2141240Z             },
2026-06-10T07:08:01.2141521Z             {
2026-06-10T07:08:01.2141907Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2142198Z               "line": 869
2026-06-10T07:08:01.2142474Z             },
2026-06-10T07:08:01.2142756Z             {
2026-06-10T07:08:01.2143139Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2143430Z               "line": 891
2026-06-10T07:08:01.2143707Z             },
2026-06-10T07:08:01.2143988Z             {
2026-06-10T07:08:01.2144364Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.2144655Z               "line": 112
2026-06-10T07:08:01.2144938Z             },
2026-06-10T07:08:01.2145209Z             {
2026-06-10T07:08:01.2145579Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2145878Z               "line": 44
2026-06-10T07:08:01.2146154Z             },
2026-06-10T07:08:01.2146435Z             {
2026-06-10T07:08:01.2146793Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2147089Z               "line": 184
2026-06-10T07:08:01.2147365Z             },
2026-06-10T07:08:01.2147641Z             {
2026-06-10T07:08:01.2148058Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2148438Z               "line": 211
2026-06-10T07:08:01.2148723Z             },
2026-06-10T07:08:01.2149091Z             {
2026-06-10T07:08:01.2149457Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2149748Z               "line": 251
2026-06-10T07:08:01.2150153Z             },
2026-06-10T07:08:01.2150429Z             {
2026-06-10T07:08:01.2150789Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2151080Z               "line": 275
2026-06-10T07:08:01.2151357Z             },
2026-06-10T07:08:01.2151638Z             {
2026-06-10T07:08:01.2152000Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2152391Z               "line": 289
2026-06-10T07:08:01.2152696Z             },
2026-06-10T07:08:01.2152973Z             {
2026-06-10T07:08:01.2153358Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2153642Z               "line": 300
2026-06-10T07:08:01.2153924Z             },
2026-06-10T07:08:01.2154200Z             {
2026-06-10T07:08:01.2154567Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2154858Z               "line": 313
2026-06-10T07:08:01.2155131Z             }
2026-06-10T07:08:01.2155407Z           ]
2026-06-10T07:08:01.2155698Z         },
2026-06-10T07:08:01.2155977Z         "int": {
2026-06-10T07:08:01.2156275Z           "complete": true,
2026-06-10T07:08:01.2156562Z           "evidence": [
2026-06-10T07:08:01.2156844Z             {
2026-06-10T07:08:01.2157247Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-10T07:08:01.2157534Z               "line": 116
2026-06-10T07:08:01.2157806Z             },
2026-06-10T07:08:01.2158102Z             {
2026-06-10T07:08:01.2158507Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-10T07:08:01.2158792Z               "line": 181
2026-06-10T07:08:01.2159154Z             }
2026-06-10T07:08:01.2159431Z           ]
2026-06-10T07:08:01.2159708Z         },
2026-06-10T07:08:01.2159989Z         "unit": {
2026-06-10T07:08:01.2160285Z           "complete": true,
2026-06-10T07:08:01.2160586Z           "evidence": [
2026-06-10T07:08:01.2160858Z             {
2026-06-10T07:08:01.2161251Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2161531Z               "line": 999
2026-06-10T07:08:01.2161807Z             },
2026-06-10T07:08:01.2162069Z             {
2026-06-10T07:08:01.2162471Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2162761Z               "line": 1016
2026-06-10T07:08:01.2163023Z             },
2026-06-10T07:08:01.2163299Z             {
2026-06-10T07:08:01.2163676Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2163980Z               "line": 1024
2026-06-10T07:08:01.2164255Z             },
2026-06-10T07:08:01.2164531Z             {
2026-06-10T07:08:01.2164922Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2165208Z               "line": 1048
2026-06-10T07:08:01.2165485Z             },
2026-06-10T07:08:01.2165757Z             {
2026-06-10T07:08:01.2166152Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2166433Z               "line": 1499
2026-06-10T07:08:01.2166718Z             },
2026-06-10T07:08:01.2166998Z             {
2026-06-10T07:08:01.2167356Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2167651Z               "line": 347
2026-06-10T07:08:01.2167928Z             },
2026-06-10T07:08:01.2168214Z             {
2026-06-10T07:08:01.2168577Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2168868Z               "line": 370
2026-06-10T07:08:01.2169235Z             },
2026-06-10T07:08:01.2169510Z             {
2026-06-10T07:08:01.2169868Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2170154Z               "line": 407
2026-06-10T07:08:01.2170439Z             },
2026-06-10T07:08:01.2170711Z             {
2026-06-10T07:08:01.2171074Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2171360Z               "line": 431
2026-06-10T07:08:01.2171635Z             },
2026-06-10T07:08:01.2171919Z             {
2026-06-10T07:08:01.2172276Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2172677Z               "line": 483
2026-06-10T07:08:01.2172963Z             },
2026-06-10T07:08:01.2173239Z             {
2026-06-10T07:08:01.2173602Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2173888Z               "line": 499
2026-06-10T07:08:01.2174169Z             },
2026-06-10T07:08:01.2174455Z             {
2026-06-10T07:08:01.2174900Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2175191Z               "line": 514
2026-06-10T07:08:01.2175453Z             },
2026-06-10T07:08:01.2175735Z             {
2026-06-10T07:08:01.2176097Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2176383Z               "line": 531
2026-06-10T07:08:01.2176655Z             }
2026-06-10T07:08:01.2176932Z           ]
2026-06-10T07:08:01.2177217Z         }
2026-06-10T07:08:01.2177491Z       }
2026-06-10T07:08:01.2177757Z     },
2026-06-10T07:08:01.2178025Z     {
2026-06-10T07:08:01.2178316Z       "id": "REQ-MESH-3",
2026-06-10T07:08:01.2183184Z       "title": "Mesh row fan-out: registry rows stay OWN-AUTHORED; the only change is the push target widens from directly-paired peers to ALL roster members (a wider DIRECT fan-out, never a third-party relay). Every row/message still arrives from its author over a handshake → KNOWN-HAZARDS 7.5 (origin = handshake node) and 4.10 (eviction lease: any future update comes from that node itself, alive) PRESERVED VERBATIM. Closes the staggered A→B→C repro: C (roster-seeded with A at pairing) initiates to A, seed-proof admits C unpaired, A learns C, both push directly.",
2026-06-10T07:08:01.2183523Z       "requiredStages": [
2026-06-10T07:08:01.2183809Z         "impl",
2026-06-10T07:08:01.2184086Z         "unit",
2026-06-10T07:08:01.2184371Z         "int"
2026-06-10T07:08:01.2184644Z       ],
2026-06-10T07:08:01.2184931Z       "stages": {
2026-06-10T07:08:01.2185215Z         "doc": {
2026-06-10T07:08:01.2185513Z           "complete": false,
2026-06-10T07:08:01.2185814Z           "evidence": []
2026-06-10T07:08:01.2186114Z         },
2026-06-10T07:08:01.2186404Z         "impl": {
2026-06-10T07:08:01.2186705Z           "complete": true,
2026-06-10T07:08:01.2186996Z           "evidence": [
2026-06-10T07:08:01.2187272Z             {
2026-06-10T07:08:01.2187662Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.2187960Z               "line": 410
2026-06-10T07:08:01.2188265Z             },
2026-06-10T07:08:01.2188547Z             {
2026-06-10T07:08:01.2188928Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.2189295Z               "line": 603
2026-06-10T07:08:01.2189577Z             }
2026-06-10T07:08:01.2189854Z           ]
2026-06-10T07:08:01.2190130Z         },
2026-06-10T07:08:01.2190411Z         "int": {
2026-06-10T07:08:01.2190707Z           "complete": true,
2026-06-10T07:08:01.2190993Z           "evidence": [
2026-06-10T07:08:01.2191274Z             {
2026-06-10T07:08:01.2191655Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-10T07:08:01.2191947Z               "line": 373
2026-06-10T07:08:01.2192229Z             },
2026-06-10T07:08:01.2192509Z             {
2026-06-10T07:08:01.2192879Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-10T07:08:01.2193173Z               "line": 436
2026-06-10T07:08:01.2193449Z             }
2026-06-10T07:08:01.2193725Z           ]
2026-06-10T07:08:01.2194007Z         },
2026-06-10T07:08:01.2194294Z         "unit": {
2026-06-10T07:08:01.2194593Z           "complete": true,
2026-06-10T07:08:01.2194885Z           "evidence": [
2026-06-10T07:08:01.2195162Z             {
2026-06-10T07:08:01.2195543Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.2195836Z               "line": 881
2026-06-10T07:08:01.2196112Z             }
2026-06-10T07:08:01.2196388Z           ]
2026-06-10T07:08:01.2196659Z         }
2026-06-10T07:08:01.2196936Z       }
2026-06-10T07:08:01.2197208Z     },
2026-06-10T07:08:01.2197484Z     {
2026-06-10T07:08:01.2197890Z       "id": "REQ-MESH-4",
2026-06-10T07:08:01.2204176Z       "title": "Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke <node>...` (list, elevation-gated, revoke-only) writes roster tombstones immediately, then schedules ONE seed rotation (re-mint seed, bump seed_epoch, push new seed CONFIDENTIALLY over member-auth'd TLS connections — never in roster/registry gossip — force-drop revokees) at the close of a coalescing window (default 1h); further revokes in the window join the same rotation (one epoch bump). `--force-rotate-seed` rotates immediately (compromised-node path). RE-SEED GRACE: a node proving the immediately-prior epoch (N-1) AND still on the roster gets a re-seed-only restricted connection (auto-heals a benign offliner); revoked/off-roster denied; ≥2 stale → re-pair.",
2026-06-10T07:08:01.2204619Z       "requiredStages": [
2026-06-10T07:08:01.2204915Z         "impl",
2026-06-10T07:08:01.2205192Z         "unit",
2026-06-10T07:08:01.2205473Z         "int"
2026-06-10T07:08:01.2205774Z       ],
2026-06-10T07:08:01.2206061Z       "stages": {
2026-06-10T07:08:01.2206344Z         "doc": {
2026-06-10T07:08:01.2206638Z           "complete": false,
2026-06-10T07:08:01.2206934Z           "evidence": []
2026-06-10T07:08:01.2207210Z         },
2026-06-10T07:08:01.2207500Z         "impl": {
2026-06-10T07:08:01.2207796Z           "complete": true,
2026-06-10T07:08:01.2208092Z           "evidence": [
2026-06-10T07:08:01.2208402Z             {
2026-06-10T07:08:01.2208787Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.2209171Z               "line": 187
2026-06-10T07:08:01.2209457Z             },
2026-06-10T07:08:01.2209738Z             {
2026-06-10T07:08:01.2210130Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2210425Z               "line": 68
2026-06-10T07:08:01.2210711Z             },
2026-06-10T07:08:01.2210988Z             {
2026-06-10T07:08:01.2211380Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2211673Z               "line": 111
2026-06-10T07:08:01.2211960Z             },
2026-06-10T07:08:01.2212231Z             {
2026-06-10T07:08:01.2212627Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2212923Z               "line": 462
2026-06-10T07:08:01.2213204Z             },
2026-06-10T07:08:01.2213485Z             {
2026-06-10T07:08:01.2213875Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2214188Z               "line": 711
2026-06-10T07:08:01.2214465Z             },
2026-06-10T07:08:01.2214746Z             {
2026-06-10T07:08:01.2215141Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2215432Z               "line": 725
2026-06-10T07:08:01.2215718Z             },
2026-06-10T07:08:01.2216014Z             {
2026-06-10T07:08:01.2216371Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.2216658Z               "line": 122
2026-06-10T07:08:01.2216938Z             },
2026-06-10T07:08:01.2217222Z             {
2026-06-10T07:08:01.2217599Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-10T07:08:01.2217900Z               "line": 26
2026-06-10T07:08:01.2218167Z             },
2026-06-10T07:08:01.2218458Z             {
2026-06-10T07:08:01.2218825Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-10T07:08:01.2219197Z               "line": 97
2026-06-10T07:08:01.2219486Z             },
2026-06-10T07:08:01.2219760Z             {
2026-06-10T07:08:01.2220142Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-10T07:08:01.2220438Z               "line": 119
2026-06-10T07:08:01.2220719Z             },
2026-06-10T07:08:01.2221010Z             {
2026-06-10T07:08:01.2221373Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.2221663Z               "line": 82
2026-06-10T07:08:01.2221935Z             },
2026-06-10T07:08:01.2222205Z             {
2026-06-10T07:08:01.2222553Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.2222964Z               "line": 111
2026-06-10T07:08:01.2223245Z             },
2026-06-10T07:08:01.2223521Z             {
2026-06-10T07:08:01.2223870Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.2224160Z               "line": 232
2026-06-10T07:08:01.2224431Z             },
2026-06-10T07:08:01.2224705Z             {
2026-06-10T07:08:01.2225063Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.2225443Z               "line": 245
2026-06-10T07:08:01.2225711Z             },
2026-06-10T07:08:01.2225983Z             {
2026-06-10T07:08:01.2226307Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2226607Z               "line": 3544
2026-06-10T07:08:01.2226880Z             }
2026-06-10T07:08:01.2227493Z           ]
2026-06-10T07:08:01.2227802Z         },
2026-06-10T07:08:01.2228121Z         "int": {
2026-06-10T07:08:01.2228412Z           "complete": true,
2026-06-10T07:08:01.2228708Z           "evidence": [
2026-06-10T07:08:01.2229160Z             {
2026-06-10T07:08:01.2229594Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-10T07:08:01.2229879Z               "line": 98
2026-06-10T07:08:01.2230162Z             },
2026-06-10T07:08:01.2230440Z             {
2026-06-10T07:08:01.2230825Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-10T07:08:01.2231117Z               "line": 140
2026-06-10T07:08:01.2231417Z             }
2026-06-10T07:08:01.2231689Z           ]
2026-06-10T07:08:01.2231971Z         },
2026-06-10T07:08:01.2232257Z         "unit": {
2026-06-10T07:08:01.2232553Z           "complete": true,
2026-06-10T07:08:01.2232889Z           "evidence": [
2026-06-10T07:08:01.2233166Z             {
2026-06-10T07:08:01.2233553Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.2233839Z               "line": 844
2026-06-10T07:08:01.2234134Z             },
2026-06-10T07:08:01.2234415Z             {
2026-06-10T07:08:01.2234803Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2235115Z               "line": 1079
2026-06-10T07:08:01.2235394Z             },
2026-06-10T07:08:01.2235679Z             {
2026-06-10T07:08:01.2236067Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2236357Z               "line": 1109
2026-06-10T07:08:01.2236633Z             },
2026-06-10T07:08:01.2236905Z             {
2026-06-10T07:08:01.2237307Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-10T07:08:01.2237602Z               "line": 1129
2026-06-10T07:08:01.2237891Z             },
2026-06-10T07:08:01.2238171Z             {
2026-06-10T07:08:01.2238580Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-10T07:08:01.2238871Z               "line": 602
2026-06-10T07:08:01.2239234Z             },
2026-06-10T07:08:01.2239510Z             {
2026-06-10T07:08:01.2239873Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-10T07:08:01.2240164Z               "line": 148
2026-06-10T07:08:01.2240449Z             },
2026-06-10T07:08:01.2240723Z             {
2026-06-10T07:08:01.2241113Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-10T07:08:01.2241414Z               "line": 169
2026-06-10T07:08:01.2241691Z             },
2026-06-10T07:08:01.2241962Z             {
2026-06-10T07:08:01.2242335Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-10T07:08:01.2242635Z               "line": 181
2026-06-10T07:08:01.2242902Z             },
2026-06-10T07:08:01.2243180Z             {
2026-06-10T07:08:01.2243537Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-10T07:08:01.2243822Z               "line": 202
2026-06-10T07:08:01.2244099Z             },
2026-06-10T07:08:01.2244375Z             {
2026-06-10T07:08:01.2244757Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.2245043Z               "line": 375
2026-06-10T07:08:01.2245319Z             },
2026-06-10T07:08:01.2245579Z             {
2026-06-10T07:08:01.2245944Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.2246341Z               "line": 407
2026-06-10T07:08:01.2246612Z             },
2026-06-10T07:08:01.2246888Z             {
2026-06-10T07:08:01.2247208Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2247504Z               "line": 7002
2026-06-10T07:08:01.2247766Z             }
2026-06-10T07:08:01.2248032Z           ]
2026-06-10T07:08:01.2248404Z         }
2026-06-10T07:08:01.2248674Z       }
2026-06-10T07:08:01.2249026Z     },
2026-06-10T07:08:01.2249299Z     {
2026-06-10T07:08:01.2249599Z       "id": "REQ-MESH-5",
2026-06-10T07:08:01.2253529Z       "title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migration — expendable test fleet, re-pairs fresh under the new model, user decision 2026-06-08). Warn-on-change DEMOTED from a gate to an awareness notice anchored on machine_id (not label): 'machine M, last seen as K1, now presents K2' — fires the same event as the REQ-SUBNET-7 re-pair overwrite. The TrustStore/peers.json code and its call sites are removed, not left dead.",
2026-06-10T07:08:01.2253852Z       "requiredStages": [
2026-06-10T07:08:01.2254134Z         "impl",
2026-06-10T07:08:01.2254410Z         "unit"
2026-06-10T07:08:01.2254692Z       ],
2026-06-10T07:08:01.2254978Z       "stages": {
2026-06-10T07:08:01.2255269Z         "doc": {
2026-06-10T07:08:01.2255570Z           "complete": false,
2026-06-10T07:08:01.2255889Z           "evidence": []
2026-06-10T07:08:01.2256172Z         },
2026-06-10T07:08:01.2256452Z         "impl": {
2026-06-10T07:08:01.2256757Z           "complete": true,
2026-06-10T07:08:01.2257043Z           "evidence": [
2026-06-10T07:08:01.2257321Z             {
2026-06-10T07:08:01.2257710Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.2258006Z               "line": 61
2026-06-10T07:08:01.2258287Z             },
2026-06-10T07:08:01.2258560Z             {
2026-06-10T07:08:01.2259040Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.2259329Z               "line": 109
2026-06-10T07:08:01.2259610Z             },
2026-06-10T07:08:01.2259887Z             {
2026-06-10T07:08:01.2260273Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.2260564Z               "line": 104
2026-06-10T07:08:01.2260840Z             },
2026-06-10T07:08:01.2261117Z             {
2026-06-10T07:08:01.2261517Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.2261810Z               "line": 105
2026-06-10T07:08:01.2262087Z             },
2026-06-10T07:08:01.2262368Z             {
2026-06-10T07:08:01.2262768Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.2263054Z               "line": 85
2026-06-10T07:08:01.2263336Z             },
2026-06-10T07:08:01.2263608Z             {
2026-06-10T07:08:01.2264013Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.2264304Z               "line": 234
2026-06-10T07:08:01.2264589Z             },
2026-06-10T07:08:01.2264861Z             {
2026-06-10T07:08:01.2265262Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.2265543Z               "line": 298
2026-06-10T07:08:01.2265820Z             },
2026-06-10T07:08:01.2266096Z             {
2026-06-10T07:08:01.2266483Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.2266767Z               "line": 687
2026-06-10T07:08:01.2267040Z             },
2026-06-10T07:08:01.2267307Z             {
2026-06-10T07:08:01.2267665Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.2267946Z               "line": 101
2026-06-10T07:08:01.2268219Z             },
2026-06-10T07:08:01.2268504Z             {
2026-06-10T07:08:01.2268877Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2269268Z               "line": 193
2026-06-10T07:08:01.2269543Z             }
2026-06-10T07:08:01.2269822Z           ]
2026-06-10T07:08:01.2270095Z         },
2026-06-10T07:08:01.2270494Z         "int": {
2026-06-10T07:08:01.2270799Z           "complete": false,
2026-06-10T07:08:01.2271095Z           "evidence": []
2026-06-10T07:08:01.2271381Z         },
2026-06-10T07:08:01.2271654Z         "unit": {
2026-06-10T07:08:01.2271955Z           "complete": true,
2026-06-10T07:08:01.2272248Z           "evidence": [
2026-06-10T07:08:01.2272527Z             {
2026-06-10T07:08:01.2273023Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.2273314Z               "line": 927
2026-06-10T07:08:01.2273605Z             },
2026-06-10T07:08:01.2273882Z             {
2026-06-10T07:08:01.2274248Z               "path": "crates/spt-store/src/roster.rs",
2026-06-10T07:08:01.2274535Z               "line": 462
2026-06-10T07:08:01.2274812Z             }
2026-06-10T07:08:01.2275096Z           ]
2026-06-10T07:08:01.2275363Z         }
2026-06-10T07:08:01.2275649Z       }
2026-06-10T07:08:01.2275921Z     },
2026-06-10T07:08:01.2276202Z     {
2026-06-10T07:08:01.2276517Z       "id": "REQ-MESH-6",
2026-06-10T07:08:01.2280061Z       "title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNET-5) CONCURRENTLY — total wall-time bounded by the single-probe ceiling (~3s), never k×ceiling. The mesh makes a node see ALL members (many possibly offline), so a serial probe loop would be offline_count×3s. (Planning verifies the current REQ-SUBNET-5 probe loop's behavior and fixes it if serial.)",
2026-06-10T07:08:01.2280396Z       "requiredStages": [
2026-06-10T07:08:01.2280679Z         "impl",
2026-06-10T07:08:01.2280974Z         "unit"
2026-06-10T07:08:01.2281264Z       ],
2026-06-10T07:08:01.2281579Z       "stages": {
2026-06-10T07:08:01.2281867Z         "doc": {
2026-06-10T07:08:01.2282167Z           "complete": false,
2026-06-10T07:08:01.2282457Z           "evidence": []
2026-06-10T07:08:01.2282731Z         },
2026-06-10T07:08:01.2283015Z         "impl": {
2026-06-10T07:08:01.2283311Z           "complete": true,
2026-06-10T07:08:01.2283626Z           "evidence": [
2026-06-10T07:08:01.2283903Z             {
2026-06-10T07:08:01.2284241Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2284537Z               "line": 3073
2026-06-10T07:08:01.2284813Z             }
2026-06-10T07:08:01.2285095Z           ]
2026-06-10T07:08:01.2285368Z         },
2026-06-10T07:08:01.2285646Z         "int": {
2026-06-10T07:08:01.2285981Z           "complete": false,
2026-06-10T07:08:01.2286271Z           "evidence": []
2026-06-10T07:08:01.2286557Z         },
2026-06-10T07:08:01.2286839Z         "unit": {
2026-06-10T07:08:01.2290146Z           "complete": true,
2026-06-10T07:08:01.2290480Z           "evidence": [
2026-06-10T07:08:01.2290773Z             {
2026-06-10T07:08:01.2291124Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2291415Z               "line": 7507
2026-06-10T07:08:01.2291700Z             },
2026-06-10T07:08:01.2291977Z             {
2026-06-10T07:08:01.2292320Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2292616Z               "line": 7534
2026-06-10T07:08:01.2292883Z             },
2026-06-10T07:08:01.2293154Z             {
2026-06-10T07:08:01.2293481Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2293773Z               "line": 7558
2026-06-10T07:08:01.2294039Z             }
2026-06-10T07:08:01.2294311Z           ]
2026-06-10T07:08:01.2294577Z         }
2026-06-10T07:08:01.2294849Z       }
2026-06-10T07:08:01.2295121Z     },
2026-06-10T07:08:01.2295397Z     {
2026-06-10T07:08:01.2295740Z       "id": "REQ-MIGRATE-1",
2026-06-10T07:08:01.2296264Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-10T07:08:01.2296575Z       "requiredStages": [],
2026-06-10T07:08:01.2296851Z       "stages": {
2026-06-10T07:08:01.2297132Z         "doc": {
2026-06-10T07:08:01.2297427Z           "complete": false,
2026-06-10T07:08:01.2297714Z           "evidence": []
2026-06-10T07:08:01.2297999Z         },
2026-06-10T07:08:01.2298281Z         "impl": {
2026-06-10T07:08:01.2298726Z           "complete": false,
2026-06-10T07:08:01.2299108Z           "evidence": []
2026-06-10T07:08:01.2299388Z         },
2026-06-10T07:08:01.2299674Z         "int": {
2026-06-10T07:08:01.2299970Z           "complete": false,
2026-06-10T07:08:01.2300271Z           "evidence": []
2026-06-10T07:08:01.2300547Z         },
2026-06-10T07:08:01.2300829Z         "unit": {
2026-06-10T07:08:01.2301252Z           "complete": false,
2026-06-10T07:08:01.2301545Z           "evidence": []
2026-06-10T07:08:01.2301822Z         }
2026-06-10T07:08:01.2302099Z       }
2026-06-10T07:08:01.2302385Z     },
2026-06-10T07:08:01.2302657Z     {
2026-06-10T07:08:01.2302963Z       "id": "REQ-MSG-1",
2026-06-10T07:08:01.2304379Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-10T07:08:01.2304690Z       "requiredStages": [
2026-06-10T07:08:01.2304975Z         "impl",
2026-06-10T07:08:01.2305266Z         "unit",
2026-06-10T07:08:01.2305544Z         "int"
2026-06-10T07:08:01.2305820Z       ],
2026-06-10T07:08:01.2306125Z       "stages": {
2026-06-10T07:08:01.2306535Z         "doc": {
2026-06-10T07:08:01.2306844Z           "complete": false,
2026-06-10T07:08:01.2307140Z           "evidence": []
2026-06-10T07:08:01.2307416Z         },
2026-06-10T07:08:01.2307702Z         "impl": {
2026-06-10T07:08:01.2308016Z           "complete": true,
2026-06-10T07:08:01.2308302Z           "evidence": [
2026-06-10T07:08:01.2308579Z             {
2026-06-10T07:08:01.2309041Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.2309324Z               "line": 28
2026-06-10T07:08:01.2309600Z             },
2026-06-10T07:08:01.2309886Z             {
2026-06-10T07:08:01.2310244Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.2310539Z               "line": 94
2026-06-10T07:08:01.2310812Z             },
2026-06-10T07:08:01.2311093Z             {
2026-06-10T07:08:01.2311456Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.2311737Z               "line": 127
2026-06-10T07:08:01.2312025Z             },
2026-06-10T07:08:01.2312302Z             {
2026-06-10T07:08:01.2312664Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.2312955Z               "line": 149
2026-06-10T07:08:01.2313236Z             },
2026-06-10T07:08:01.2313527Z             {
2026-06-10T07:08:01.2313885Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.2314176Z               "line": 174
2026-06-10T07:08:01.2314455Z             },
2026-06-10T07:08:01.2314733Z             {
2026-06-10T07:08:01.2315335Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-10T07:08:01.2315640Z               "line": 18
2026-06-10T07:08:01.2315921Z             },
2026-06-10T07:08:01.2316198Z             {
2026-06-10T07:08:01.2316546Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-10T07:08:01.2316832Z               "line": 13
2026-06-10T07:08:01.2317123Z             },
2026-06-10T07:08:01.2317409Z             {
2026-06-10T07:08:01.2317747Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-10T07:08:01.2318043Z               "line": 61
2026-06-10T07:08:01.2318320Z             },
2026-06-10T07:08:01.2318601Z             {
2026-06-10T07:08:01.2319025Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-10T07:08:01.2319321Z               "line": 10
2026-06-10T07:08:01.2319601Z             }
2026-06-10T07:08:01.2319875Z           ]
2026-06-10T07:08:01.2320165Z         },
2026-06-10T07:08:01.2320447Z         "int": {
2026-06-10T07:08:01.2320752Z           "complete": true,
2026-06-10T07:08:01.2321043Z           "evidence": [
2026-06-10T07:08:01.2321320Z             {
2026-06-10T07:08:01.2321748Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-10T07:08:01.2322030Z               "line": 9
2026-06-10T07:08:01.2322316Z             },
2026-06-10T07:08:01.2322590Z             {
2026-06-10T07:08:01.2323138Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-10T07:08:01.2323425Z               "line": 70
2026-06-10T07:08:01.2323705Z             },
2026-06-10T07:08:01.2323996Z             {
2026-06-10T07:08:01.2324412Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-10T07:08:01.2324703Z               "line": 129
2026-06-10T07:08:01.2324977Z             }
2026-06-10T07:08:01.2325352Z           ]
2026-06-10T07:08:01.2325628Z         },
2026-06-10T07:08:01.2325909Z         "unit": {
2026-06-10T07:08:01.2326209Z           "complete": true,
2026-06-10T07:08:01.2326491Z           "evidence": [
2026-06-10T07:08:01.2326773Z             {
2026-06-10T07:08:01.2327126Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.2327420Z               "line": 203
2026-06-10T07:08:01.2327698Z             },
2026-06-10T07:08:01.2327983Z             {
2026-06-10T07:08:01.2328341Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.2328636Z               "line": 232
2026-06-10T07:08:01.2328904Z             },
2026-06-10T07:08:01.2329266Z             {
2026-06-10T07:08:01.2329627Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.2329909Z               "line": 277
2026-06-10T07:08:01.2330190Z             },
2026-06-10T07:08:01.2330459Z             {
2026-06-10T07:08:01.2330812Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.2331108Z               "line": 300
2026-06-10T07:08:01.2331379Z             },
2026-06-10T07:08:01.2331646Z             {
2026-06-10T07:08:01.2331989Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-10T07:08:01.2332285Z               "line": 324
2026-06-10T07:08:01.2332566Z             },
2026-06-10T07:08:01.2332847Z             {
2026-06-10T07:08:01.2333212Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-10T07:08:01.2333502Z               "line": 203
2026-06-10T07:08:01.2333779Z             },
2026-06-10T07:08:01.2334061Z             {
2026-06-10T07:08:01.2334428Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-10T07:08:01.2334719Z               "line": 236
2026-06-10T07:08:01.2334991Z             },
2026-06-10T07:08:01.2335273Z             {
2026-06-10T07:08:01.2335623Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-10T07:08:01.2335917Z               "line": 250
2026-06-10T07:08:01.2336188Z             },
2026-06-10T07:08:01.2336484Z             {
2026-06-10T07:08:01.2336842Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-10T07:08:01.2337128Z               "line": 262
2026-06-10T07:08:01.2337404Z             },
2026-06-10T07:08:01.2337671Z             {
2026-06-10T07:08:01.2338015Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-10T07:08:01.2338309Z               "line": 158
2026-06-10T07:08:01.2338582Z             },
2026-06-10T07:08:01.2338858Z             {
2026-06-10T07:08:01.2339277Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-10T07:08:01.2339578Z               "line": 241
2026-06-10T07:08:01.2339854Z             },
2026-06-10T07:08:01.2340141Z             {
2026-06-10T07:08:01.2340484Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-10T07:08:01.2340768Z               "line": 68
2026-06-10T07:08:01.2341053Z             },
2026-06-10T07:08:01.2341324Z             {
2026-06-10T07:08:01.2341668Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-10T07:08:01.2341959Z               "line": 77
2026-06-10T07:08:01.2342239Z             },
2026-06-10T07:08:01.2342521Z             {
2026-06-10T07:08:01.2342864Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-10T07:08:01.2343160Z               "line": 83
2026-06-10T07:08:01.2343431Z             },
2026-06-10T07:08:01.2343705Z             {
2026-06-10T07:08:01.2344044Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-10T07:08:01.2344335Z               "line": 102
2026-06-10T07:08:01.2344611Z             }
2026-06-10T07:08:01.2344888Z           ]
2026-06-10T07:08:01.2345288Z         }
2026-06-10T07:08:01.2345560Z       }
2026-06-10T07:08:01.2345843Z     },
2026-06-10T07:08:01.2346116Z     {
2026-06-10T07:08:01.2346414Z       "id": "REQ-MSG-2",
2026-06-10T07:08:01.2347230Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-10T07:08:01.2347545Z       "requiredStages": [
2026-06-10T07:08:01.2347831Z         "impl",
2026-06-10T07:08:01.2348207Z         "unit"
2026-06-10T07:08:01.2348489Z       ],
2026-06-10T07:08:01.2348771Z       "stages": {
2026-06-10T07:08:01.2349138Z         "doc": {
2026-06-10T07:08:01.2349461Z           "complete": false,
2026-06-10T07:08:01.2349756Z           "evidence": []
2026-06-10T07:08:01.2350043Z         },
2026-06-10T07:08:01.2350325Z         "impl": {
2026-06-10T07:08:01.2350625Z           "complete": true,
2026-06-10T07:08:01.2350910Z           "evidence": [
2026-06-10T07:08:01.2351190Z             {
2026-06-10T07:08:01.2351526Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2351827Z               "line": 11
2026-06-10T07:08:01.2352108Z             },
2026-06-10T07:08:01.2352390Z             {
2026-06-10T07:08:01.2352728Z               "path": "crates/spt/src/main.rs",
2026-06-10T07:08:01.2353015Z               "line": 8
2026-06-10T07:08:01.2353290Z             }
2026-06-10T07:08:01.2353573Z           ]
2026-06-10T07:08:01.2353850Z         },
2026-06-10T07:08:01.2354148Z         "int": {
2026-06-10T07:08:01.2354446Z           "complete": false,
2026-06-10T07:08:01.2354741Z           "evidence": []
2026-06-10T07:08:01.2355009Z         },
2026-06-10T07:08:01.2355280Z         "unit": {
2026-06-10T07:08:01.2355576Z           "complete": true,
2026-06-10T07:08:01.2355881Z           "evidence": [
2026-06-10T07:08:01.2356158Z             {
2026-06-10T07:08:01.2356492Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2356781Z               "line": 5229
2026-06-10T07:08:01.2357051Z             },
2026-06-10T07:08:01.2357327Z             {
2026-06-10T07:08:01.2357667Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2357962Z               "line": 5278
2026-06-10T07:08:01.2358243Z             },
2026-06-10T07:08:01.2358520Z             {
2026-06-10T07:08:01.2358848Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2359221Z               "line": 5301
2026-06-10T07:08:01.2359500Z             },
2026-06-10T07:08:01.2359786Z             {
2026-06-10T07:08:01.2360115Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2360407Z               "line": 6758
2026-06-10T07:08:01.2360688Z             },
2026-06-10T07:08:01.2360979Z             {
2026-06-10T07:08:01.2361308Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2361600Z               "line": 6767
2026-06-10T07:08:01.2361879Z             },
2026-06-10T07:08:01.2362163Z             {
2026-06-10T07:08:01.2362492Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2362779Z               "line": 6781
2026-06-10T07:08:01.2363098Z             }
2026-06-10T07:08:01.2363383Z           ]
2026-06-10T07:08:01.2363660Z         }
2026-06-10T07:08:01.2363937Z       }
2026-06-10T07:08:01.2364222Z     },
2026-06-10T07:08:01.2364495Z     {
2026-06-10T07:08:01.2364798Z       "id": "REQ-MSG-3",
2026-06-10T07:08:01.2365974Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-10T07:08:01.2366285Z       "requiredStages": [
2026-06-10T07:08:01.2366565Z         "impl",
2026-06-10T07:08:01.2366837Z         "unit",
2026-06-10T07:08:01.2367137Z         "int"
2026-06-10T07:08:01.2367411Z       ],
2026-06-10T07:08:01.2367693Z       "stages": {
2026-06-10T07:08:01.2367979Z         "doc": {
2026-06-10T07:08:01.2368274Z           "complete": false,
2026-06-10T07:08:01.2368561Z           "evidence": []
2026-06-10T07:08:01.2368832Z         },
2026-06-10T07:08:01.2369191Z         "impl": {
2026-06-10T07:08:01.2369481Z           "complete": true,
2026-06-10T07:08:01.2369887Z           "evidence": [
2026-06-10T07:08:01.2370162Z             {
2026-06-10T07:08:01.2370529Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-10T07:08:01.2370825Z               "line": 19
2026-06-10T07:08:01.2371101Z             },
2026-06-10T07:08:01.2371382Z             {
2026-06-10T07:08:01.2371731Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-10T07:08:01.2372122Z               "line": 21
2026-06-10T07:08:01.2372406Z             },
2026-06-10T07:08:01.2372675Z             {
2026-06-10T07:08:01.2373029Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-10T07:08:01.2373314Z               "line": 48
2026-06-10T07:08:01.2373595Z             },
2026-06-10T07:08:01.2373867Z             {
2026-06-10T07:08:01.2374220Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-10T07:08:01.2374520Z               "line": 142
2026-06-10T07:08:01.2374797Z             }
2026-06-10T07:08:01.2375083Z           ]
2026-06-10T07:08:01.2375354Z         },
2026-06-10T07:08:01.2375643Z         "int": {
2026-06-10T07:08:01.2375939Z           "complete": true,
2026-06-10T07:08:01.2376230Z           "evidence": [
2026-06-10T07:08:01.2376511Z             {
2026-06-10T07:08:01.2376931Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-10T07:08:01.2377222Z               "line": 10
2026-06-10T07:08:01.2377498Z             },
2026-06-10T07:08:01.2377792Z             {
2026-06-10T07:08:01.2378205Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-10T07:08:01.2378496Z               "line": 70
2026-06-10T07:08:01.2378777Z             }
2026-06-10T07:08:01.2379131Z           ]
2026-06-10T07:08:01.2379406Z         },
2026-06-10T07:08:01.2379687Z         "unit": {
2026-06-10T07:08:01.2379988Z           "complete": true,
2026-06-10T07:08:01.2380274Z           "evidence": [
2026-06-10T07:08:01.2380550Z             {
2026-06-10T07:08:01.2380898Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-10T07:08:01.2381193Z               "line": 196
2026-06-10T07:08:01.2381475Z             },
2026-06-10T07:08:01.2381747Z             {
2026-06-10T07:08:01.2382099Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-10T07:08:01.2382391Z               "line": 215
2026-06-10T07:08:01.2382658Z             },
2026-06-10T07:08:01.2382942Z             {
2026-06-10T07:08:01.2383274Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-10T07:08:01.2383564Z               "line": 237
2026-06-10T07:08:01.2383836Z             }
2026-06-10T07:08:01.2384117Z           ]
2026-06-10T07:08:01.2384394Z         }
2026-06-10T07:08:01.2384666Z       }
2026-06-10T07:08:01.2384939Z     },
2026-06-10T07:08:01.2385206Z     {
2026-06-10T07:08:01.2385511Z       "id": "REQ-MSG-4",
2026-06-10T07:08:01.2387880Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-10T07:08:01.2388200Z       "requiredStages": [
2026-06-10T07:08:01.2388489Z         "impl",
2026-06-10T07:08:01.2388765Z         "unit",
2026-06-10T07:08:01.2389127Z         "int"
2026-06-10T07:08:01.2389404Z       ],
2026-06-10T07:08:01.2389691Z       "stages": {
2026-06-10T07:08:01.2389967Z         "doc": {
2026-06-10T07:08:01.2390267Z           "complete": false,
2026-06-10T07:08:01.2390582Z           "evidence": []
2026-06-10T07:08:01.2390863Z         },
2026-06-10T07:08:01.2391153Z         "impl": {
2026-06-10T07:08:01.2391458Z           "complete": true,
2026-06-10T07:08:01.2391753Z           "evidence": [
2026-06-10T07:08:01.2392026Z             {
2026-06-10T07:08:01.2392378Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-10T07:08:01.2392679Z               "line": 16
2026-06-10T07:08:01.2392960Z             },
2026-06-10T07:08:01.2393242Z             {
2026-06-10T07:08:01.2393578Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-10T07:08:01.2394006Z               "line": 25
2026-06-10T07:08:01.2394278Z             },
2026-06-10T07:08:01.2394568Z             {
2026-06-10T07:08:01.2394926Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-10T07:08:01.2395564Z               "line": 47
2026-06-10T07:08:01.2395851Z             },
2026-06-10T07:08:01.2396124Z             {
2026-06-10T07:08:01.2396478Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.2396901Z               "line": 363
2026-06-10T07:08:01.2397183Z             },
2026-06-10T07:08:01.2397454Z             {
2026-06-10T07:08:01.2397778Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2398051Z               "line": 2218
2026-06-10T07:08:01.2398328Z             }
2026-06-10T07:08:01.2398595Z           ]
2026-06-10T07:08:01.2398869Z         },
2026-06-10T07:08:01.2399219Z         "int": {
2026-06-10T07:08:01.2399529Z           "complete": true,
2026-06-10T07:08:01.2399830Z           "evidence": [
2026-06-10T07:08:01.2400106Z             {
2026-06-10T07:08:01.2400527Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-10T07:08:01.2400817Z               "line": 93
2026-06-10T07:08:01.2401089Z             },
2026-06-10T07:08:01.2401370Z             {
2026-06-10T07:08:01.2401755Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-10T07:08:01.2402046Z               "line": 123
2026-06-10T07:08:01.2402342Z             }
2026-06-10T07:08:01.2402652Z           ]
2026-06-10T07:08:01.2402929Z         },
2026-06-10T07:08:01.2403210Z         "unit": {
2026-06-10T07:08:01.2403506Z           "complete": true,
2026-06-10T07:08:01.2403830Z           "evidence": [
2026-06-10T07:08:01.2404101Z             {
2026-06-10T07:08:01.2404457Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-10T07:08:01.2404742Z               "line": 62
2026-06-10T07:08:01.2405034Z             },
2026-06-10T07:08:01.2405314Z             {
2026-06-10T07:08:01.2405658Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-10T07:08:01.2405958Z               "line": 73
2026-06-10T07:08:01.2406239Z             },
2026-06-10T07:08:01.2406521Z             {
2026-06-10T07:08:01.2406867Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-10T07:08:01.2407160Z               "line": 84
2026-06-10T07:08:01.2407442Z             },
2026-06-10T07:08:01.2407720Z             {
2026-06-10T07:08:01.2408063Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-10T07:08:01.2408357Z               "line": 96
2026-06-10T07:08:01.2408640Z             },
2026-06-10T07:08:01.2408917Z             {
2026-06-10T07:08:01.2409344Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-10T07:08:01.2409647Z               "line": 105
2026-06-10T07:08:01.2409953Z             },
2026-06-10T07:08:01.2410238Z             {
2026-06-10T07:08:01.2410695Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-10T07:08:01.2410986Z               "line": 120
2026-06-10T07:08:01.2411277Z             }
2026-06-10T07:08:01.2411572Z           ]
2026-06-10T07:08:01.2411901Z         }
2026-06-10T07:08:01.2412174Z       }
2026-06-10T07:08:01.2412450Z     },
2026-06-10T07:08:01.2412726Z     {
2026-06-10T07:08:01.2413022Z       "id": "REQ-NET-1",
2026-06-10T07:08:01.2413574Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-10T07:08:01.2413880Z       "requiredStages": [
2026-06-10T07:08:01.2414165Z         "impl",
2026-06-10T07:08:01.2414451Z         "unit",
2026-06-10T07:08:01.2414745Z         "int"
2026-06-10T07:08:01.2415022Z       ],
2026-06-10T07:08:01.2415312Z       "stages": {
2026-06-10T07:08:01.2415589Z         "doc": {
2026-06-10T07:08:01.2415894Z           "complete": false,
2026-06-10T07:08:01.2416194Z           "evidence": []
2026-06-10T07:08:01.2416460Z         },
2026-06-10T07:08:01.2416747Z         "impl": {
2026-06-10T07:08:01.2417042Z           "complete": true,
2026-06-10T07:08:01.2417338Z           "evidence": [
2026-06-10T07:08:01.2417608Z             {
2026-06-10T07:08:01.2418007Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.2418422Z               "line": 54
2026-06-10T07:08:01.2418702Z             },
2026-06-10T07:08:01.2419061Z             {
2026-06-10T07:08:01.2419429Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.2419715Z               "line": 594
2026-06-10T07:08:01.2419989Z             },
2026-06-10T07:08:01.2420264Z             {
2026-06-10T07:08:01.2420727Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-10T07:08:01.2421018Z               "line": 69
2026-06-10T07:08:01.2421298Z             },
2026-06-10T07:08:01.2421580Z             {
2026-06-10T07:08:01.2421972Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2422252Z               "line": 97
2026-06-10T07:08:01.2422538Z             },
2026-06-10T07:08:01.2422866Z             {
2026-06-10T07:08:01.2423253Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2423543Z               "line": 159
2026-06-10T07:08:01.2423829Z             },
2026-06-10T07:08:01.2424110Z             {
2026-06-10T07:08:01.2424492Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2424783Z               "line": 175
2026-06-10T07:08:01.2425064Z             },
2026-06-10T07:08:01.2425342Z             {
2026-06-10T07:08:01.2425729Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2426024Z               "line": 190
2026-06-10T07:08:01.2426301Z             },
2026-06-10T07:08:01.2426578Z             {
2026-06-10T07:08:01.2426963Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2427273Z               "line": 271
2026-06-10T07:08:01.2427559Z             },
2026-06-10T07:08:01.2427851Z             {
2026-06-10T07:08:01.2428238Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2428529Z               "line": 306
2026-06-10T07:08:01.2428811Z             },
2026-06-10T07:08:01.2429183Z             {
2026-06-10T07:08:01.2429568Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2429869Z               "line": 312
2026-06-10T07:08:01.2430150Z             },
2026-06-10T07:08:01.2430422Z             {
2026-06-10T07:08:01.2430805Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2431087Z               "line": 318
2026-06-10T07:08:01.2431368Z             },
2026-06-10T07:08:01.2431654Z             {
2026-06-10T07:08:01.2432035Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2432326Z               "line": 334
2026-06-10T07:08:01.2432604Z             },
2026-06-10T07:08:01.2432880Z             {
2026-06-10T07:08:01.2433266Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2433556Z               "line": 354
2026-06-10T07:08:01.2433836Z             },
2026-06-10T07:08:01.2434113Z             {
2026-06-10T07:08:01.2434495Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-10T07:08:01.2434777Z               "line": 35
2026-06-10T07:08:01.2435062Z             },
2026-06-10T07:08:01.2435343Z             {
2026-06-10T07:08:01.2435709Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-10T07:08:01.2435997Z               "line": 85
2026-06-10T07:08:01.2436274Z             },
2026-06-10T07:08:01.2436551Z             {
2026-06-10T07:08:01.2436908Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.2437209Z               "line": 135
2026-06-10T07:08:01.2437491Z             },
2026-06-10T07:08:01.2437767Z             {
2026-06-10T07:08:01.2438105Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2438392Z               "line": 2064
2026-06-10T07:08:01.2438672Z             },
2026-06-10T07:08:01.2439042Z             {
2026-06-10T07:08:01.2439390Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.2439676Z               "line": 17
2026-06-10T07:08:01.2439953Z             }
2026-06-10T07:08:01.2440235Z           ]
2026-06-10T07:08:01.2440511Z         },
2026-06-10T07:08:01.2440897Z         "int": {
2026-06-10T07:08:01.2441181Z           "complete": true,
2026-06-10T07:08:01.2441465Z           "evidence": [
2026-06-10T07:08:01.2441741Z             {
2026-06-10T07:08:01.2442128Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.2442419Z               "line": 341
2026-06-10T07:08:01.2442695Z             },
2026-06-10T07:08:01.2443067Z             {
2026-06-10T07:08:01.2443445Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2443741Z               "line": 605
2026-06-10T07:08:01.2444019Z             },
2026-06-10T07:08:01.2444296Z             {
2026-06-10T07:08:01.2444683Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2444969Z               "line": 878
2026-06-10T07:08:01.2445259Z             }
2026-06-10T07:08:01.2445532Z           ]
2026-06-10T07:08:01.2445807Z         },
2026-06-10T07:08:01.2446080Z         "unit": {
2026-06-10T07:08:01.2446375Z           "complete": true,
2026-06-10T07:08:01.2446716Z           "evidence": [
2026-06-10T07:08:01.2446993Z             {
2026-06-10T07:08:01.2447369Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.2447660Z               "line": 650
2026-06-10T07:08:01.2447947Z             },
2026-06-10T07:08:01.2448223Z             {
2026-06-10T07:08:01.2448600Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.2448915Z               "line": 685
2026-06-10T07:08:01.2449274Z             },
2026-06-10T07:08:01.2449550Z             {
2026-06-10T07:08:01.2449936Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.2450226Z               "line": 932
2026-06-10T07:08:01.2450504Z             },
2026-06-10T07:08:01.2450775Z             {
2026-06-10T07:08:01.2451148Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-10T07:08:01.2451439Z               "line": 152
2026-06-10T07:08:01.2451713Z             },
2026-06-10T07:08:01.2451991Z             {
2026-06-10T07:08:01.2452373Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2452664Z               "line": 442
2026-06-10T07:08:01.2452940Z             },
2026-06-10T07:08:01.2453217Z             {
2026-06-10T07:08:01.2453599Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2453894Z               "line": 456
2026-06-10T07:08:01.2454181Z             },
2026-06-10T07:08:01.2454452Z             {
2026-06-10T07:08:01.2454800Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2455291Z               "line": 475
2026-06-10T07:08:01.2455596Z             },
2026-06-10T07:08:01.2455907Z             {
2026-06-10T07:08:01.2456302Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-10T07:08:01.2456594Z               "line": 119
2026-06-10T07:08:01.2456872Z             },
2026-06-10T07:08:01.2457151Z             {
2026-06-10T07:08:01.2457519Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-10T07:08:01.2457834Z               "line": 162
2026-06-10T07:08:01.2458115Z             },
2026-06-10T07:08:01.2458391Z             {
2026-06-10T07:08:01.2458759Z               "path": "crates/spt-store/src/spool.rs",
2026-06-10T07:08:01.2459146Z               "line": 492
2026-06-10T07:08:01.2459446Z             },
2026-06-10T07:08:01.2459721Z             {
2026-06-10T07:08:01.2460057Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.2460357Z               "line": 615
2026-06-10T07:08:01.2460633Z             },
2026-06-10T07:08:01.2460915Z             {
2026-06-10T07:08:01.2461254Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.2461544Z               "line": 1004
2026-06-10T07:08:01.2461821Z             }
2026-06-10T07:08:01.2462102Z           ]
2026-06-10T07:08:01.2462373Z         }
2026-06-10T07:08:01.2462657Z       }
2026-06-10T07:08:01.2462928Z     },
2026-06-10T07:08:01.2463200Z     {
2026-06-10T07:08:01.2463496Z       "id": "REQ-NET-2",
2026-06-10T07:08:01.2464168Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-10T07:08:01.2464483Z       "requiredStages": [
2026-06-10T07:08:01.2464760Z         "impl"
2026-06-10T07:08:01.2465045Z       ],
2026-06-10T07:08:01.2465331Z       "stages": {
2026-06-10T07:08:01.2465612Z         "doc": {
2026-06-10T07:08:01.2465913Z           "complete": false,
2026-06-10T07:08:01.2466204Z           "evidence": []
2026-06-10T07:08:01.2466580Z         },
2026-06-10T07:08:01.2466857Z         "impl": {
2026-06-10T07:08:01.2467144Z           "complete": true,
2026-06-10T07:08:01.2467433Z           "evidence": [
2026-06-10T07:08:01.2467701Z             {
2026-06-10T07:08:01.2468074Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:01.2468360Z               "line": 57
2026-06-10T07:08:01.2468636Z             },
2026-06-10T07:08:01.2468908Z             {
2026-06-10T07:08:01.2469353Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2469644Z               "line": 71
2026-06-10T07:08:01.2469915Z             },
2026-06-10T07:08:01.2470185Z             {
2026-06-10T07:08:01.2470568Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2470860Z               "line": 81
2026-06-10T07:08:01.2471131Z             },
2026-06-10T07:08:01.2471414Z             {
2026-06-10T07:08:01.2471785Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2472066Z               "line": 159
2026-06-10T07:08:01.2472343Z             },
2026-06-10T07:08:01.2472620Z             {
2026-06-10T07:08:01.2472998Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2473275Z               "line": 175
2026-06-10T07:08:01.2473542Z             },
2026-06-10T07:08:01.2473813Z             {
2026-06-10T07:08:01.2474195Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-10T07:08:01.2474482Z               "line": 190
2026-06-10T07:08:01.2474748Z             }
2026-06-10T07:08:01.2475029Z           ]
2026-06-10T07:08:01.2475301Z         },
2026-06-10T07:08:01.2475581Z         "int": {
2026-06-10T07:08:01.2475877Z           "complete": false,
2026-06-10T07:08:01.2476168Z           "evidence": []
2026-06-10T07:08:01.2476435Z         },
2026-06-10T07:08:01.2476712Z         "unit": {
2026-06-10T07:08:01.2477007Z           "complete": true,
2026-06-10T07:08:01.2477293Z           "evidence": [
2026-06-10T07:08:01.2477579Z             {
2026-06-10T07:08:01.2477959Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:01.2478238Z               "line": 402
2026-06-10T07:08:01.2478514Z             }
2026-06-10T07:08:01.2478792Z           ]
2026-06-10T07:08:01.2479144Z         }
2026-06-10T07:08:01.2479417Z       }
2026-06-10T07:08:01.2479683Z     },
2026-06-10T07:08:01.2479961Z     {
2026-06-10T07:08:01.2480242Z       "id": "REQ-NET-3",
2026-06-10T07:08:01.2480745Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-10T07:08:01.2481043Z       "requiredStages": [
2026-06-10T07:08:01.2481335Z         "impl",
2026-06-10T07:08:01.2481606Z         "unit"
2026-06-10T07:08:01.2481884Z       ],
2026-06-10T07:08:01.2482170Z       "stages": {
2026-06-10T07:08:01.2482451Z         "doc": {
2026-06-10T07:08:01.2482751Z           "complete": false,
2026-06-10T07:08:01.2483042Z           "evidence": []
2026-06-10T07:08:01.2483322Z         },
2026-06-10T07:08:01.2483601Z         "impl": {
2026-06-10T07:08:01.2483910Z           "complete": true,
2026-06-10T07:08:01.2484202Z           "evidence": [
2026-06-10T07:08:01.2484478Z             {
2026-06-10T07:08:01.2484840Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.2485131Z               "line": 39
2026-06-10T07:08:01.2485409Z             },
2026-06-10T07:08:01.2485686Z             {
2026-06-10T07:08:01.2486048Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.2486337Z               "line": 182
2026-06-10T07:08:01.2486613Z             },
2026-06-10T07:08:01.2486889Z             {
2026-06-10T07:08:01.2487372Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-10T07:08:01.2487658Z               "line": 333
2026-06-10T07:08:01.2487930Z             },
2026-06-10T07:08:01.2488216Z             {
2026-06-10T07:08:01.2488577Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-10T07:08:01.2488861Z               "line": 36
2026-06-10T07:08:01.2489233Z             },
2026-06-10T07:08:01.2489614Z             {
2026-06-10T07:08:01.2490005Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.2490296Z               "line": 158
2026-06-10T07:08:01.2490582Z             },
2026-06-10T07:08:01.2490864Z             {
2026-06-10T07:08:01.2491249Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.2491543Z               "line": 212
2026-06-10T07:08:01.2491814Z             },
2026-06-10T07:08:01.2495249Z             {
2026-06-10T07:08:01.2495801Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.2496193Z               "line": 233
2026-06-10T07:08:01.2496498Z             },
2026-06-10T07:08:01.2496772Z             {
2026-06-10T07:08:01.2497178Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.2497532Z               "line": 291
2026-06-10T07:08:01.2497817Z             },
2026-06-10T07:08:01.2498118Z             {
2026-06-10T07:08:01.2498509Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.2498815Z               "line": 310
2026-06-10T07:08:01.2499170Z             },
2026-06-10T07:08:01.2499450Z             {
2026-06-10T07:08:01.2499841Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.2500137Z               "line": 348
2026-06-10T07:08:01.2500422Z             },
2026-06-10T07:08:01.2500694Z             {
2026-06-10T07:08:01.2501081Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.2501367Z               "line": 393
2026-06-10T07:08:01.2501648Z             },
2026-06-10T07:08:01.2501956Z             {
2026-06-10T07:08:01.2502345Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.2502632Z               "line": 406
2026-06-10T07:08:01.2502907Z             },
2026-06-10T07:08:01.2503188Z             {
2026-06-10T07:08:01.2503566Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.2503857Z               "line": 29
2026-06-10T07:08:01.2504142Z             },
2026-06-10T07:08:01.2504447Z             {
2026-06-10T07:08:01.2504830Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.2505116Z               "line": 72
2026-06-10T07:08:01.2505397Z             },
2026-06-10T07:08:01.2505675Z             {
2026-06-10T07:08:01.2506056Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.2506346Z               "line": 123
2026-06-10T07:08:01.2506628Z             }
2026-06-10T07:08:01.2506909Z           ]
2026-06-10T07:08:01.2507182Z         },
2026-06-10T07:08:01.2507467Z         "int": {
2026-06-10T07:08:01.2507772Z           "complete": false,
2026-06-10T07:08:01.2508068Z           "evidence": []
2026-06-10T07:08:01.2508458Z         },
2026-06-10T07:08:01.2508769Z         "unit": {
2026-06-10T07:08:01.2509126Z           "complete": true,
2026-06-10T07:08:01.2509446Z           "evidence": [
2026-06-10T07:08:01.2509721Z             {
2026-06-10T07:08:01.2510115Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-10T07:08:01.2510420Z               "line": 223
2026-06-10T07:08:01.2510692Z             },
2026-06-10T07:08:01.2510969Z             {
2026-06-10T07:08:01.2511345Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-10T07:08:01.2511631Z               "line": 351
2026-06-10T07:08:01.2511918Z             },
2026-06-10T07:08:01.2512194Z             {
2026-06-10T07:08:01.2512564Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-10T07:08:01.2512853Z               "line": 502
2026-06-10T07:08:01.2513134Z             },
2026-06-10T07:08:01.2513564Z             {
2026-06-10T07:08:01.2513921Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-10T07:08:01.2514203Z               "line": 93
2026-06-10T07:08:01.2514480Z             },
2026-06-10T07:08:01.2514766Z             {
2026-06-10T07:08:01.2515126Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-10T07:08:01.2515420Z               "line": 142
2026-06-10T07:08:01.2515705Z             },
2026-06-10T07:08:01.2516078Z             {
2026-06-10T07:08:01.2516459Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.2516746Z               "line": 315
2026-06-10T07:08:01.2517022Z             },
2026-06-10T07:08:01.2517293Z             {
2026-06-10T07:08:01.2517671Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.2517965Z               "line": 355
2026-06-10T07:08:01.2518241Z             },
2026-06-10T07:08:01.2518522Z             {
2026-06-10T07:08:01.2518889Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-10T07:08:01.2519267Z               "line": 494
2026-06-10T07:08:01.2519548Z             }
2026-06-10T07:08:01.2519819Z           ]
2026-06-10T07:08:01.2520095Z         }
2026-06-10T07:08:01.2520369Z       }
2026-06-10T07:08:01.2520647Z     },
2026-06-10T07:08:01.2520908Z     {
2026-06-10T07:08:01.2521214Z       "id": "REQ-NODE-IDENTITY",
2026-06-10T07:08:01.2521928Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-10T07:08:01.2522252Z       "requiredStages": [
2026-06-10T07:08:01.2522539Z         "impl",
2026-06-10T07:08:01.2522826Z         "unit"
2026-06-10T07:08:01.2523115Z       ],
2026-06-10T07:08:01.2523393Z       "stages": {
2026-06-10T07:08:01.2523679Z         "doc": {
2026-06-10T07:08:01.2523984Z           "complete": false,
2026-06-10T07:08:01.2524276Z           "evidence": []
2026-06-10T07:08:01.2524553Z         },
2026-06-10T07:08:01.2524834Z         "impl": {
2026-06-10T07:08:01.2525134Z           "complete": true,
2026-06-10T07:08:01.2525426Z           "evidence": [
2026-06-10T07:08:01.2525705Z             {
2026-06-10T07:08:01.2526080Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-10T07:08:01.2526367Z               "line": 60
2026-06-10T07:08:01.2526652Z             },
2026-06-10T07:08:01.2526929Z             {
2026-06-10T07:08:01.2527306Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-10T07:08:01.2527597Z               "line": 68
2026-06-10T07:08:01.2527878Z             },
2026-06-10T07:08:01.2528164Z             {
2026-06-10T07:08:01.2528539Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-10T07:08:01.2528834Z               "line": 86
2026-06-10T07:08:01.2529198Z             },
2026-06-10T07:08:01.2529478Z             {
2026-06-10T07:08:01.2529856Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-10T07:08:01.2530147Z               "line": 120
2026-06-10T07:08:01.2530422Z             },
2026-06-10T07:08:01.2530702Z             {
2026-06-10T07:08:01.2531077Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-10T07:08:01.2531382Z               "line": 127
2026-06-10T07:08:01.2531659Z             },
2026-06-10T07:08:01.2531935Z             {
2026-06-10T07:08:01.2532307Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-10T07:08:01.2532598Z               "line": 143
2026-06-10T07:08:01.2532875Z             },
2026-06-10T07:08:01.2533151Z             {
2026-06-10T07:08:01.2533504Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-10T07:08:01.2533797Z               "line": 16
2026-06-10T07:08:01.2534069Z             }
2026-06-10T07:08:01.2534350Z           ]
2026-06-10T07:08:01.2534632Z         },
2026-06-10T07:08:01.2534908Z         "int": {
2026-06-10T07:08:01.2535212Z           "complete": false,
2026-06-10T07:08:01.2535498Z           "evidence": []
2026-06-10T07:08:01.2535775Z         },
2026-06-10T07:08:01.2536051Z         "unit": {
2026-06-10T07:08:01.2536354Z           "complete": true,
2026-06-10T07:08:01.2536645Z           "evidence": [
2026-06-10T07:08:01.2537026Z             {
2026-06-10T07:08:01.2537411Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-10T07:08:01.2537703Z               "line": 199
2026-06-10T07:08:01.2537985Z             },
2026-06-10T07:08:01.2538256Z             {
2026-06-10T07:08:01.2538647Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-10T07:08:01.2539042Z               "line": 218
2026-06-10T07:08:01.2539419Z             },
2026-06-10T07:08:01.2539695Z             {
2026-06-10T07:08:01.2540072Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-10T07:08:01.2540368Z               "line": 234
2026-06-10T07:08:01.2540649Z             },
2026-06-10T07:08:01.2540925Z             {
2026-06-10T07:08:01.2541300Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-10T07:08:01.2541594Z               "line": 256
2026-06-10T07:08:01.2541870Z             },
2026-06-10T07:08:01.2542147Z             {
2026-06-10T07:08:01.2542524Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-10T07:08:01.2542819Z               "line": 124
2026-06-10T07:08:01.2543092Z             },
2026-06-10T07:08:01.2543368Z             {
2026-06-10T07:08:01.2543725Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-10T07:08:01.2544012Z               "line": 140
2026-06-10T07:08:01.2544292Z             },
2026-06-10T07:08:01.2544571Z             {
2026-06-10T07:08:01.2544953Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-10T07:08:01.2545239Z               "line": 155
2026-06-10T07:08:01.2545521Z             }
2026-06-10T07:08:01.2545797Z           ]
2026-06-10T07:08:01.2546082Z         }
2026-06-10T07:08:01.2546355Z       }
2026-06-10T07:08:01.2546635Z     },
2026-06-10T07:08:01.2546910Z     {
2026-06-10T07:08:01.2547215Z       "id": "REQ-NOTIF-1",
2026-06-10T07:08:01.2548325Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-10T07:08:01.2548644Z       "requiredStages": [
2026-06-10T07:08:01.2548931Z         "impl",
2026-06-10T07:08:01.2549294Z         "unit",
2026-06-10T07:08:01.2549573Z         "int"
2026-06-10T07:08:01.2549859Z       ],
2026-06-10T07:08:01.2550137Z       "stages": {
2026-06-10T07:08:01.2550422Z         "doc": {
2026-06-10T07:08:01.2550718Z           "complete": false,
2026-06-10T07:08:01.2551019Z           "evidence": []
2026-06-10T07:08:01.2551300Z         },
2026-06-10T07:08:01.2551582Z         "impl": {
2026-06-10T07:08:01.2551880Z           "complete": true,
2026-06-10T07:08:01.2552168Z           "evidence": [
2026-06-10T07:08:01.2552450Z             {
2026-06-10T07:08:01.2552831Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.2553122Z               "line": 514
2026-06-10T07:08:01.2553398Z             },
2026-06-10T07:08:01.2553699Z             {
2026-06-10T07:08:01.2554071Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2554352Z               "line": 30
2026-06-10T07:08:01.2554647Z             },
2026-06-10T07:08:01.2554912Z             {
2026-06-10T07:08:01.2555274Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2555547Z               "line": 62
2026-06-10T07:08:01.2555818Z             },
2026-06-10T07:08:01.2556095Z             {
2026-06-10T07:08:01.2556448Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2556739Z               "line": 86
2026-06-10T07:08:01.2557020Z             },
2026-06-10T07:08:01.2557299Z             {
2026-06-10T07:08:01.2557655Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2557936Z               "line": 100
2026-06-10T07:08:01.2558222Z             },
2026-06-10T07:08:01.2558489Z             {
2026-06-10T07:08:01.2558847Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2559219Z               "line": 135
2026-06-10T07:08:01.2559496Z             },
2026-06-10T07:08:01.2559767Z             {
2026-06-10T07:08:01.2560124Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2560519Z               "line": 180
2026-06-10T07:08:01.2560796Z             },
2026-06-10T07:08:01.2561077Z             {
2026-06-10T07:08:01.2561430Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2561721Z               "line": 251
2026-06-10T07:08:01.2561992Z             },
2026-06-10T07:08:01.2562274Z             {
2026-06-10T07:08:01.2562742Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2563029Z               "line": 361
2026-06-10T07:08:01.2563315Z             },
2026-06-10T07:08:01.2563592Z             {
2026-06-10T07:08:01.2563997Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2564307Z               "line": 421
2026-06-10T07:08:01.2564579Z             },
2026-06-10T07:08:01.2564855Z             {
2026-06-10T07:08:01.2565236Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.2565529Z               "line": 24
2026-06-10T07:08:01.2565820Z             },
2026-06-10T07:08:01.2566092Z             {
2026-06-10T07:08:01.2566478Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.2566793Z               "line": 34
2026-06-10T07:08:01.2567069Z             },
2026-06-10T07:08:01.2567346Z             {
2026-06-10T07:08:01.2567727Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.2568025Z               "line": 60
2026-06-10T07:08:01.2568306Z             },
2026-06-10T07:08:01.2568583Z             {
2026-06-10T07:08:01.2569031Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.2569326Z               "line": 82
2026-06-10T07:08:01.2569608Z             },
2026-06-10T07:08:01.2569894Z             {
2026-06-10T07:08:01.2570274Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.2570566Z               "line": 94
2026-06-10T07:08:01.2570861Z             },
2026-06-10T07:08:01.2571133Z             {
2026-06-10T07:08:01.2571519Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.2571814Z               "line": 43
2026-06-10T07:08:01.2572101Z             },
2026-06-10T07:08:01.2572373Z             {
2026-06-10T07:08:01.2572755Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.2573053Z               "line": 96
2026-06-10T07:08:01.2573375Z             },
2026-06-10T07:08:01.2573752Z             {
2026-06-10T07:08:01.2574208Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-10T07:08:01.2574500Z               "line": 20
2026-06-10T07:08:01.2574772Z             },
2026-06-10T07:08:01.2575063Z             {
2026-06-10T07:08:01.2575434Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-10T07:08:01.2575721Z               "line": 30
2026-06-10T07:08:01.2576000Z             },
2026-06-10T07:08:01.2576276Z             {
2026-06-10T07:08:01.2576642Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-10T07:08:01.2576925Z               "line": 50
2026-06-10T07:08:01.2577220Z             },
2026-06-10T07:08:01.2577497Z             {
2026-06-10T07:08:01.2577855Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2578141Z               "line": 28
2026-06-10T07:08:01.2578414Z             },
2026-06-10T07:08:01.2578694Z             {
2026-06-10T07:08:01.2579139Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2579505Z               "line": 126
2026-06-10T07:08:01.2579787Z             },
2026-06-10T07:08:01.2580058Z             {
2026-06-10T07:08:01.2580417Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2580703Z               "line": 161
2026-06-10T07:08:01.2580979Z             },
2026-06-10T07:08:01.2581258Z             {
2026-06-10T07:08:01.2581616Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2581902Z               "line": 202
2026-06-10T07:08:01.2582169Z             },
2026-06-10T07:08:01.2582450Z             {
2026-06-10T07:08:01.2582808Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2583242Z               "line": 213
2026-06-10T07:08:01.2583532Z             },
2026-06-10T07:08:01.2583806Z             {
2026-06-10T07:08:01.2584154Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2584431Z               "line": 238
2026-06-10T07:08:01.2584717Z             },
2026-06-10T07:08:01.2584975Z             {
2026-06-10T07:08:01.2585436Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2585727Z               "line": 261
2026-06-10T07:08:01.2585999Z             },
2026-06-10T07:08:01.2586267Z             {
2026-06-10T07:08:01.2586635Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.2586922Z               "line": 63
2026-06-10T07:08:01.2587189Z             }
2026-06-10T07:08:01.2587461Z           ]
2026-06-10T07:08:01.2587732Z         },
2026-06-10T07:08:01.2588009Z         "int": {
2026-06-10T07:08:01.2588309Z           "complete": true,
2026-06-10T07:08:01.2588604Z           "evidence": [
2026-06-10T07:08:01.2588885Z             {
2026-06-10T07:08:01.2589388Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.2589669Z               "line": 285
2026-06-10T07:08:01.2589945Z             },
2026-06-10T07:08:01.2590212Z             {
2026-06-10T07:08:01.2590604Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-10T07:08:01.2590889Z               "line": 102
2026-06-10T07:08:01.2591204Z             },
2026-06-10T07:08:01.2591471Z             {
2026-06-10T07:08:01.2591851Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2592138Z               "line": 614
2026-06-10T07:08:01.2592409Z             },
2026-06-10T07:08:01.2592682Z             {
2026-06-10T07:08:01.2593063Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2593359Z               "line": 1007
2026-06-10T07:08:01.2593626Z             }
2026-06-10T07:08:01.2593898Z           ]
2026-06-10T07:08:01.2594187Z         },
2026-06-10T07:08:01.2594457Z         "unit": {
2026-06-10T07:08:01.2594752Z           "complete": true,
2026-06-10T07:08:01.2595121Z           "evidence": [
2026-06-10T07:08:01.2595445Z             {
2026-06-10T07:08:01.2595812Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2596107Z               "line": 514
2026-06-10T07:08:01.2596404Z             },
2026-06-10T07:08:01.2596719Z             {
2026-06-10T07:08:01.2597088Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2597362Z               "line": 563
2026-06-10T07:08:01.2597638Z             },
2026-06-10T07:08:01.2597910Z             {
2026-06-10T07:08:01.2598273Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2598564Z               "line": 666
2026-06-10T07:08:01.2598831Z             },
2026-06-10T07:08:01.2599183Z             {
2026-06-10T07:08:01.2599539Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2599814Z               "line": 698
2026-06-10T07:08:01.2600091Z             },
2026-06-10T07:08:01.2600364Z             {
2026-06-10T07:08:01.2600730Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2601011Z               "line": 766
2026-06-10T07:08:01.2601283Z             },
2026-06-10T07:08:01.2601546Z             {
2026-06-10T07:08:01.2601908Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2602209Z               "line": 824
2026-06-10T07:08:01.2602484Z             },
2026-06-10T07:08:01.2602765Z             {
2026-06-10T07:08:01.2603119Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2603414Z               "line": 1045
2026-06-10T07:08:01.2603685Z             },
2026-06-10T07:08:01.2603966Z             {
2026-06-10T07:08:01.2604338Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.2604623Z               "line": 157
2026-06-10T07:08:01.2604903Z             },
2026-06-10T07:08:01.2605317Z             {
2026-06-10T07:08:01.2605932Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.2606223Z               "line": 250
2026-06-10T07:08:01.2606505Z             },
2026-06-10T07:08:01.2606795Z             {
2026-06-10T07:08:01.2607172Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-10T07:08:01.2607462Z               "line": 273
2026-06-10T07:08:01.2607736Z             },
2026-06-10T07:08:01.2608117Z             {
2026-06-10T07:08:01.2608494Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.2608784Z               "line": 341
2026-06-10T07:08:01.2609143Z             },
2026-06-10T07:08:01.2609438Z             {
2026-06-10T07:08:01.2609812Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-10T07:08:01.2610100Z               "line": 373
2026-06-10T07:08:01.2610374Z             },
2026-06-10T07:08:01.2610646Z             {
2026-06-10T07:08:01.2611042Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-10T07:08:01.2611342Z               "line": 131
2026-06-10T07:08:01.2611619Z             },
2026-06-10T07:08:01.2611896Z             {
2026-06-10T07:08:01.2612258Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-10T07:08:01.2612543Z               "line": 72
2026-06-10T07:08:01.2612825Z             },
2026-06-10T07:08:01.2613097Z             {
2026-06-10T07:08:01.2613497Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-10T07:08:01.2613798Z               "line": 97
2026-06-10T07:08:01.2614078Z             },
2026-06-10T07:08:01.2614347Z             {
2026-06-10T07:08:01.2614713Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2614995Z               "line": 379
2026-06-10T07:08:01.2615274Z             },
2026-06-10T07:08:01.2615558Z             {
2026-06-10T07:08:01.2615911Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2616207Z               "line": 417
2026-06-10T07:08:01.2616478Z             },
2026-06-10T07:08:01.2616754Z             {
2026-06-10T07:08:01.2617103Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2617398Z               "line": 433
2026-06-10T07:08:01.2617689Z             },
2026-06-10T07:08:01.2617961Z             {
2026-06-10T07:08:01.2618316Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2618616Z               "line": 472
2026-06-10T07:08:01.2618931Z             },
2026-06-10T07:08:01.2619302Z             {
2026-06-10T07:08:01.2619650Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2619941Z               "line": 489
2026-06-10T07:08:01.2620213Z             },
2026-06-10T07:08:01.2620500Z             {
2026-06-10T07:08:01.2620854Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2621141Z               "line": 517
2026-06-10T07:08:01.2621417Z             },
2026-06-10T07:08:01.2621703Z             {
2026-06-10T07:08:01.2622060Z               "path": "crates/spt-store/src/notif.rs",
2026-06-10T07:08:01.2622342Z               "line": 548
2026-06-10T07:08:01.2622628Z             },
2026-06-10T07:08:01.2622909Z             {
2026-06-10T07:08:01.2623286Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.2623580Z               "line": 455
2026-06-10T07:08:01.2623851Z             }
2026-06-10T07:08:01.2624128Z           ]
2026-06-10T07:08:01.2624405Z         }
2026-06-10T07:08:01.2624691Z       }
2026-06-10T07:08:01.2624972Z     },
2026-06-10T07:08:01.2625255Z     {
2026-06-10T07:08:01.2625560Z       "id": "REQ-NOTIF-2",
2026-06-10T07:08:01.2626371Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-10T07:08:01.2626680Z       "requiredStages": [
2026-06-10T07:08:01.2626957Z         "doc",
2026-06-10T07:08:01.2627244Z         "impl",
2026-06-10T07:08:01.2627520Z         "unit",
2026-06-10T07:08:01.2627807Z         "int"
2026-06-10T07:08:01.2628084Z       ],
2026-06-10T07:08:01.2628351Z       "stages": {
2026-06-10T07:08:01.2628754Z         "doc": {
2026-06-10T07:08:01.2629124Z           "complete": true,
2026-06-10T07:08:01.2629420Z           "evidence": [
2026-06-10T07:08:01.2629687Z             {
2026-06-10T07:08:01.2629987Z               "path": "CONTEXT.md",
2026-06-10T07:08:01.2630268Z               "line": 346
2026-06-10T07:08:01.2630540Z             },
2026-06-10T07:08:01.2630816Z             {
2026-06-10T07:08:01.2631121Z               "path": "docs/MANIFEST.md",
2026-06-10T07:08:01.2631508Z               "line": 62
2026-06-10T07:08:01.2631785Z             }
2026-06-10T07:08:01.2632067Z           ]
2026-06-10T07:08:01.2632348Z         },
2026-06-10T07:08:01.2632625Z         "impl": {
2026-06-10T07:08:01.2632931Z           "complete": true,
2026-06-10T07:08:01.2633212Z           "evidence": [
2026-06-10T07:08:01.2633494Z             {
2026-06-10T07:08:01.2633856Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2634150Z               "line": 280
2026-06-10T07:08:01.2634435Z             },
2026-06-10T07:08:01.2634726Z             {
2026-06-10T07:08:01.2635089Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2635361Z               "line": 294
2026-06-10T07:08:01.2635632Z             },
2026-06-10T07:08:01.2635904Z             {
2026-06-10T07:08:01.2636266Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2636568Z               "line": 319
2026-06-10T07:08:01.2636855Z             },
2026-06-10T07:08:01.2637131Z             {
2026-06-10T07:08:01.2637508Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.2637794Z               "line": 126
2026-06-10T07:08:01.2638071Z             },
2026-06-10T07:08:01.2638348Z             {
2026-06-10T07:08:01.2638719Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.2639081Z               "line": 72
2026-06-10T07:08:01.2639365Z             },
2026-06-10T07:08:01.2639641Z             {
2026-06-10T07:08:01.2639970Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2640262Z               "line": 1546
2026-06-10T07:08:01.2640537Z             },
2026-06-10T07:08:01.2640823Z             {
2026-06-10T07:08:01.2641143Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2641433Z               "line": 1595
2026-06-10T07:08:01.2641704Z             },
2026-06-10T07:08:01.2641979Z             {
2026-06-10T07:08:01.2642312Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2642609Z               "line": 1674
2026-06-10T07:08:01.2642885Z             },
2026-06-10T07:08:01.2643152Z             {
2026-06-10T07:08:01.2643481Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2643763Z               "line": 1713
2026-06-10T07:08:01.2644029Z             }
2026-06-10T07:08:01.2644296Z           ]
2026-06-10T07:08:01.2644585Z         },
2026-06-10T07:08:01.2644867Z         "int": {
2026-06-10T07:08:01.2645159Z           "complete": true,
2026-06-10T07:08:01.2645449Z           "evidence": [
2026-06-10T07:08:01.2645726Z             {
2026-06-10T07:08:01.2646121Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2646412Z               "line": 740
2026-06-10T07:08:01.2646694Z             },
2026-06-10T07:08:01.2646969Z             {
2026-06-10T07:08:01.2647348Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2647640Z               "line": 1160
2026-06-10T07:08:01.2647916Z             }
2026-06-10T07:08:01.2648207Z           ]
2026-06-10T07:08:01.2648492Z         },
2026-06-10T07:08:01.2648778Z         "unit": {
2026-06-10T07:08:01.2649161Z           "complete": true,
2026-06-10T07:08:01.2649456Z           "evidence": [
2026-06-10T07:08:01.2649750Z             {
2026-06-10T07:08:01.2650115Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2650410Z               "line": 894
2026-06-10T07:08:01.2650687Z             },
2026-06-10T07:08:01.2650963Z             {
2026-06-10T07:08:01.2651326Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2651723Z               "line": 962
2026-06-10T07:08:01.2652038Z             },
2026-06-10T07:08:01.2652316Z             {
2026-06-10T07:08:01.2652652Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2652943Z               "line": 5546
2026-06-10T07:08:01.2653220Z             },
2026-06-10T07:08:01.2653502Z             {
2026-06-10T07:08:01.2653836Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2654245Z               "line": 5601
2026-06-10T07:08:01.2654527Z             }
2026-06-10T07:08:01.2654813Z           ]
2026-06-10T07:08:01.2655094Z         }
2026-06-10T07:08:01.2655366Z       }
2026-06-10T07:08:01.2655638Z     },
2026-06-10T07:08:01.2655905Z     {
2026-06-10T07:08:01.2656209Z       "id": "REQ-PAIR-1",
2026-06-10T07:08:01.2656544Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-10T07:08:01.2656854Z       "requiredStages": [
2026-06-10T07:08:01.2657139Z         "impl",
2026-06-10T07:08:01.2657419Z         "unit",
2026-06-10T07:08:01.2657708Z         "int"
2026-06-10T07:08:01.2658003Z       ],
2026-06-10T07:08:01.2658295Z       "stages": {
2026-06-10T07:08:01.2658576Z         "doc": {
2026-06-10T07:08:01.2658872Z           "complete": false,
2026-06-10T07:08:01.2659243Z           "evidence": []
2026-06-10T07:08:01.2659530Z         },
2026-06-10T07:08:01.2659812Z         "impl": {
2026-06-10T07:08:01.2660103Z           "complete": true,
2026-06-10T07:08:01.2660410Z           "evidence": [
2026-06-10T07:08:01.2660680Z             {
2026-06-10T07:08:01.2661090Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.2661382Z               "line": 27
2026-06-10T07:08:01.2661662Z             },
2026-06-10T07:08:01.2661943Z             {
2026-06-10T07:08:01.2662350Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.2662641Z               "line": 88
2026-06-10T07:08:01.2662920Z             },
2026-06-10T07:08:01.2663198Z             {
2026-06-10T07:08:01.2663595Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.2663895Z               "line": 110
2026-06-10T07:08:01.2664176Z             },
2026-06-10T07:08:01.2664443Z             {
2026-06-10T07:08:01.2664844Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.2665125Z               "line": 153
2026-06-10T07:08:01.2665397Z             },
2026-06-10T07:08:01.2665663Z             {
2026-06-10T07:08:01.2666063Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.2666350Z               "line": 182
2026-06-10T07:08:01.2666627Z             },
2026-06-10T07:08:01.2666903Z             {
2026-06-10T07:08:01.2667303Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-10T07:08:01.2667589Z               "line": 29
2026-06-10T07:08:01.2667861Z             },
2026-06-10T07:08:01.2668127Z             {
2026-06-10T07:08:01.2668568Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-10T07:08:01.2668850Z               "line": 31
2026-06-10T07:08:01.2669217Z             },
2026-06-10T07:08:01.2669489Z             {
2026-06-10T07:08:01.2669889Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2670180Z               "line": 44
2026-06-10T07:08:01.2670456Z             },
2026-06-10T07:08:01.2670729Z             {
2026-06-10T07:08:01.2671125Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2671426Z               "line": 171
2026-06-10T07:08:01.2671703Z             },
2026-06-10T07:08:01.2671984Z             {
2026-06-10T07:08:01.2672380Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2672670Z               "line": 376
2026-06-10T07:08:01.2673042Z             }
2026-06-10T07:08:01.2673314Z           ]
2026-06-10T07:08:01.2673598Z         },
2026-06-10T07:08:01.2673874Z         "int": {
2026-06-10T07:08:01.2674170Z           "complete": true,
2026-06-10T07:08:01.2674465Z           "evidence": [
2026-06-10T07:08:01.2674847Z             {
2026-06-10T07:08:01.2675232Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2675523Z               "line": 575
2026-06-10T07:08:01.2675810Z             },
2026-06-10T07:08:01.2676087Z             {
2026-06-10T07:08:01.2676472Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2676767Z               "line": 792
2026-06-10T07:08:01.2677530Z             }
2026-06-10T07:08:01.2677845Z           ]
2026-06-10T07:08:01.2678125Z         },
2026-06-10T07:08:01.2678445Z         "unit": {
2026-06-10T07:08:01.2678743Z           "complete": true,
2026-06-10T07:08:01.2679119Z           "evidence": [
2026-06-10T07:08:01.2679401Z             {
2026-06-10T07:08:01.2679814Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.2680106Z               "line": 236
2026-06-10T07:08:01.2680383Z             },
2026-06-10T07:08:01.2680664Z             {
2026-06-10T07:08:01.2681069Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-10T07:08:01.2681378Z               "line": 349
2026-06-10T07:08:01.2681657Z             },
2026-06-10T07:08:01.2681924Z             {
2026-06-10T07:08:01.2682343Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-10T07:08:01.2682635Z               "line": 194
2026-06-10T07:08:01.2682911Z             },
2026-06-10T07:08:01.2683193Z             {
2026-06-10T07:08:01.2683597Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-10T07:08:01.2683883Z               "line": 216
2026-06-10T07:08:01.2684163Z             },
2026-06-10T07:08:01.2684439Z             {
2026-06-10T07:08:01.2684835Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-10T07:08:01.2685125Z               "line": 230
2026-06-10T07:08:01.2685402Z             },
2026-06-10T07:08:01.2685674Z             {
2026-06-10T07:08:01.2686069Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-10T07:08:01.2686357Z               "line": 242
2026-06-10T07:08:01.2686647Z             },
2026-06-10T07:08:01.2686922Z             {
2026-06-10T07:08:01.2687327Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-10T07:08:01.2687619Z               "line": 256
2026-06-10T07:08:01.2687894Z             },
2026-06-10T07:08:01.2688175Z             {
2026-06-10T07:08:01.2688563Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-10T07:08:01.2688863Z               "line": 270
2026-06-10T07:08:01.2689214Z             },
2026-06-10T07:08:01.2689493Z             {
2026-06-10T07:08:01.2689885Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-10T07:08:01.2690171Z               "line": 277
2026-06-10T07:08:01.2690447Z             },
2026-06-10T07:08:01.2690718Z             {
2026-06-10T07:08:01.2691111Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-10T07:08:01.2691396Z               "line": 295
2026-06-10T07:08:01.2691677Z             },
2026-06-10T07:08:01.2691952Z             {
2026-06-10T07:08:01.2692345Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2692636Z               "line": 968
2026-06-10T07:08:01.2692913Z             },
2026-06-10T07:08:01.2693190Z             {
2026-06-10T07:08:01.2693585Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2693876Z               "line": 1051
2026-06-10T07:08:01.2694157Z             },
2026-06-10T07:08:01.2694430Z             {
2026-06-10T07:08:01.2694831Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2695127Z               "line": 1121
2026-06-10T07:08:01.2695414Z             },
2026-06-10T07:08:01.2695704Z             {
2026-06-10T07:08:01.2696095Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2696387Z               "line": 1182
2026-06-10T07:08:01.2696658Z             },
2026-06-10T07:08:01.2696940Z             {
2026-06-10T07:08:01.2697329Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2697734Z               "line": 1238
2026-06-10T07:08:01.2700882Z             },
2026-06-10T07:08:01.2703378Z             {
2026-06-10T07:08:01.2703797Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2704093Z               "line": 1457
2026-06-10T07:08:01.2704369Z             }
2026-06-10T07:08:01.2704642Z           ]
2026-06-10T07:08:01.2705084Z         }
2026-06-10T07:08:01.2705368Z       }
2026-06-10T07:08:01.2705641Z     },
2026-06-10T07:08:01.2705912Z     {
2026-06-10T07:08:01.2706198Z       "id": "REQ-PAIR-2",
2026-06-10T07:08:01.2706632Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-10T07:08:01.2706932Z       "requiredStages": [],
2026-06-10T07:08:01.2707209Z       "stages": {
2026-06-10T07:08:01.2707482Z         "doc": {
2026-06-10T07:08:01.2707772Z           "complete": false,
2026-06-10T07:08:01.2708061Z           "evidence": []
2026-06-10T07:08:01.2708323Z         },
2026-06-10T07:08:01.2708623Z         "impl": {
2026-06-10T07:08:01.2708938Z           "complete": false,
2026-06-10T07:08:01.2709339Z           "evidence": []
2026-06-10T07:08:01.2709645Z         },
2026-06-10T07:08:01.2709949Z         "int": {
2026-06-10T07:08:01.2710253Z           "complete": false,
2026-06-10T07:08:01.2710555Z           "evidence": []
2026-06-10T07:08:01.2710847Z         },
2026-06-10T07:08:01.2711137Z         "unit": {
2026-06-10T07:08:01.2711466Z           "complete": false,
2026-06-10T07:08:01.2711767Z           "evidence": []
2026-06-10T07:08:01.2712039Z         }
2026-06-10T07:08:01.2712330Z       }
2026-06-10T07:08:01.2712621Z     },
2026-06-10T07:08:01.2712913Z     {
2026-06-10T07:08:01.2713221Z       "id": "REQ-PAIR-3",
2026-06-10T07:08:01.2713681Z       "title": "Fetch current pairing code from any paired node",
2026-06-10T07:08:01.2713995Z       "requiredStages": [
2026-06-10T07:08:01.2714287Z         "impl",
2026-06-10T07:08:01.2714582Z         "unit"
2026-06-10T07:08:01.2714873Z       ],
2026-06-10T07:08:01.2715179Z       "stages": {
2026-06-10T07:08:01.2715479Z         "doc": {
2026-06-10T07:08:01.2715801Z           "complete": false,
2026-06-10T07:08:01.2716090Z           "evidence": []
2026-06-10T07:08:01.2716371Z         },
2026-06-10T07:08:01.2716653Z         "impl": {
2026-06-10T07:08:01.2716977Z           "complete": true,
2026-06-10T07:08:01.2717292Z           "evidence": [
2026-06-10T07:08:01.2717554Z             {
2026-06-10T07:08:01.2717955Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2718265Z               "line": 2315
2026-06-10T07:08:01.2718568Z             },
2026-06-10T07:08:01.2718873Z             {
2026-06-10T07:08:01.2719289Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2719604Z               "line": 2384
2026-06-10T07:08:01.2719895Z             },
2026-06-10T07:08:01.2720200Z             {
2026-06-10T07:08:01.2720563Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2720875Z               "line": 2620
2026-06-10T07:08:01.2721164Z             }
2026-06-10T07:08:01.2721444Z           ]
2026-06-10T07:08:01.2721731Z         },
2026-06-10T07:08:01.2722012Z         "int": {
2026-06-10T07:08:01.2722351Z           "complete": false,
2026-06-10T07:08:01.2722646Z           "evidence": []
2026-06-10T07:08:01.2722928Z         },
2026-06-10T07:08:01.2723214Z         "unit": {
2026-06-10T07:08:01.2723515Z           "complete": true,
2026-06-10T07:08:01.2723818Z           "evidence": [
2026-06-10T07:08:01.2724093Z             {
2026-06-10T07:08:01.2724432Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2724724Z               "line": 6914
2026-06-10T07:08:01.2725004Z             },
2026-06-10T07:08:01.2725285Z             {
2026-06-10T07:08:01.2725614Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2725909Z               "line": 7129
2026-06-10T07:08:01.2726185Z             },
2026-06-10T07:08:01.2726464Z             {
2026-06-10T07:08:01.2726798Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2727075Z               "line": 7703
2026-06-10T07:08:01.2727498Z             },
2026-06-10T07:08:01.2727776Z             {
2026-06-10T07:08:01.2728109Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2728400Z               "line": 7722
2026-06-10T07:08:01.2728686Z             },
2026-06-10T07:08:01.2729047Z             {
2026-06-10T07:08:01.2729376Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2729772Z               "line": 7746
2026-06-10T07:08:01.2730048Z             },
2026-06-10T07:08:01.2730330Z             {
2026-06-10T07:08:01.2730655Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2730949Z               "line": 7765
2026-06-10T07:08:01.2731231Z             },
2026-06-10T07:08:01.2731507Z             {
2026-06-10T07:08:01.2731839Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2732125Z               "line": 7778
2026-06-10T07:08:01.2732407Z             },
2026-06-10T07:08:01.2732683Z             {
2026-06-10T07:08:01.2733065Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2733365Z               "line": 7787
2026-06-10T07:08:01.2733642Z             }
2026-06-10T07:08:01.2733922Z           ]
2026-06-10T07:08:01.2734193Z         }
2026-06-10T07:08:01.2734457Z       }
2026-06-10T07:08:01.2734786Z     },
2026-06-10T07:08:01.2735059Z     {
2026-06-10T07:08:01.2735364Z       "id": "REQ-PAIR-4",
2026-06-10T07:08:01.2735755Z       "title": "Subnet naming on first pairing",
2026-06-10T07:08:01.2736069Z       "requiredStages": [
2026-06-10T07:08:01.2736350Z         "impl",
2026-06-10T07:08:01.2736633Z         "unit"
2026-06-10T07:08:01.2736903Z       ],
2026-06-10T07:08:01.2737186Z       "stages": {
2026-06-10T07:08:01.2737468Z         "doc": {
2026-06-10T07:08:01.2737763Z           "complete": false,
2026-06-10T07:08:01.2738058Z           "evidence": []
2026-06-10T07:08:01.2738331Z         },
2026-06-10T07:08:01.2738660Z         "impl": {
2026-06-10T07:08:01.2739046Z           "complete": true,
2026-06-10T07:08:01.2739337Z           "evidence": [
2026-06-10T07:08:01.2739631Z             {
2026-06-10T07:08:01.2739998Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-10T07:08:01.2740298Z               "line": 174
2026-06-10T07:08:01.2740566Z             }
2026-06-10T07:08:01.2740847Z           ]
2026-06-10T07:08:01.2741120Z         },
2026-06-10T07:08:01.2741392Z         "int": {
2026-06-10T07:08:01.2741693Z           "complete": false,
2026-06-10T07:08:01.2741986Z           "evidence": []
2026-06-10T07:08:01.2742264Z         },
2026-06-10T07:08:01.2742541Z         "unit": {
2026-06-10T07:08:01.2742841Z           "complete": true,
2026-06-10T07:08:01.2743128Z           "evidence": [
2026-06-10T07:08:01.2743405Z             {
2026-06-10T07:08:01.2743819Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2744110Z               "line": 1294
2026-06-10T07:08:01.2744391Z             }
2026-06-10T07:08:01.2744663Z           ]
2026-06-10T07:08:01.2744939Z         }
2026-06-10T07:08:01.2745218Z       }
2026-06-10T07:08:01.2745495Z     },
2026-06-10T07:08:01.2745780Z     {
2026-06-10T07:08:01.2746081Z       "id": "REQ-PAIR-5",
2026-06-10T07:08:01.2747006Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-10T07:08:01.2747320Z       "requiredStages": [
2026-06-10T07:08:01.2747604Z         "impl",
2026-06-10T07:08:01.2747885Z         "unit",
2026-06-10T07:08:01.2748167Z         "int"
2026-06-10T07:08:01.2748448Z       ],
2026-06-10T07:08:01.2748735Z       "stages": {
2026-06-10T07:08:01.2749082Z         "doc": {
2026-06-10T07:08:01.2749378Z           "complete": false,
2026-06-10T07:08:01.2749674Z           "evidence": []
2026-06-10T07:08:01.2749946Z         },
2026-06-10T07:08:01.2750224Z         "impl": {
2026-06-10T07:08:01.2750516Z           "complete": true,
2026-06-10T07:08:01.2750802Z           "evidence": [
2026-06-10T07:08:01.2751079Z             {
2026-06-10T07:08:01.2751484Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2751885Z               "line": 44
2026-06-10T07:08:01.2752161Z             },
2026-06-10T07:08:01.2752441Z             {
2026-06-10T07:08:01.2752849Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2753135Z               "line": 96
2026-06-10T07:08:01.2753421Z             },
2026-06-10T07:08:01.2753688Z             {
2026-06-10T07:08:01.2754232Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2754519Z               "line": 107
2026-06-10T07:08:01.2754800Z             },
2026-06-10T07:08:01.2755082Z             {
2026-06-10T07:08:01.2755475Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2755821Z               "line": 124
2026-06-10T07:08:01.2756094Z             },
2026-06-10T07:08:01.2756375Z             {
2026-06-10T07:08:01.2756775Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2757062Z               "line": 155
2026-06-10T07:08:01.2757391Z             },
2026-06-10T07:08:01.2757667Z             {
2026-06-10T07:08:01.2758065Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2758355Z               "line": 195
2026-06-10T07:08:01.2758636Z             },
2026-06-10T07:08:01.2758912Z             {
2026-06-10T07:08:01.2759384Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2759675Z               "line": 251
2026-06-10T07:08:01.2759953Z             },
2026-06-10T07:08:01.2760225Z             {
2026-06-10T07:08:01.2760662Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-10T07:08:01.2760958Z               "line": 33
2026-06-10T07:08:01.2761234Z             },
2026-06-10T07:08:01.2761506Z             {
2026-06-10T07:08:01.2761954Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-10T07:08:01.2762240Z               "line": 45
2026-06-10T07:08:01.2762522Z             },
2026-06-10T07:08:01.2762799Z             {
2026-06-10T07:08:01.2763248Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-10T07:08:01.2763539Z               "line": 59
2026-06-10T07:08:01.2763815Z             },
2026-06-10T07:08:01.2764087Z             {
2026-06-10T07:08:01.2764478Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2764774Z               "line": 376
2026-06-10T07:08:01.2765055Z             }
2026-06-10T07:08:01.2765337Z           ]
2026-06-10T07:08:01.2765613Z         },
2026-06-10T07:08:01.2765897Z         "int": {
2026-06-10T07:08:01.2766204Z           "complete": true,
2026-06-10T07:08:01.2766495Z           "evidence": [
2026-06-10T07:08:01.2766773Z             {
2026-06-10T07:08:01.2767158Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2767449Z               "line": 792
2026-06-10T07:08:01.2767730Z             },
2026-06-10T07:08:01.2768007Z             {
2026-06-10T07:08:01.2768416Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2768709Z               "line": 342
2026-06-10T07:08:01.2769062Z             }
2026-06-10T07:08:01.2769339Z           ]
2026-06-10T07:08:01.2769616Z         },
2026-06-10T07:08:01.2769892Z         "unit": {
2026-06-10T07:08:01.2770189Z           "complete": true,
2026-06-10T07:08:01.2770489Z           "evidence": [
2026-06-10T07:08:01.2770761Z             {
2026-06-10T07:08:01.2771166Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2771460Z               "line": 293
2026-06-10T07:08:01.2771741Z             },
2026-06-10T07:08:01.2772022Z             {
2026-06-10T07:08:01.2772419Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2772710Z               "line": 304
2026-06-10T07:08:01.2772986Z             },
2026-06-10T07:08:01.2773267Z             {
2026-06-10T07:08:01.2773657Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.2773945Z               "line": 406
2026-06-10T07:08:01.2774341Z             },
2026-06-10T07:08:01.2774613Z             {
2026-06-10T07:08:01.2775057Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-10T07:08:01.2775343Z               "line": 72
2026-06-10T07:08:01.2775620Z             },
2026-06-10T07:08:01.2775897Z             {
2026-06-10T07:08:01.2776339Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-10T07:08:01.2776745Z               "line": 82
2026-06-10T07:08:01.2777023Z             },
2026-06-10T07:08:01.2777299Z             {
2026-06-10T07:08:01.2777732Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-10T07:08:01.2778023Z               "line": 100
2026-06-10T07:08:01.2778304Z             },
2026-06-10T07:08:01.2778572Z             {
2026-06-10T07:08:01.2779096Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-10T07:08:01.2779398Z               "line": 110
2026-06-10T07:08:01.2779689Z             },
2026-06-10T07:08:01.2779970Z             {
2026-06-10T07:08:01.2780405Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-10T07:08:01.2780691Z               "line": 125
2026-06-10T07:08:01.2780958Z             },
2026-06-10T07:08:01.2781234Z             {
2026-06-10T07:08:01.2781626Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2781919Z               "line": 1044
2026-06-10T07:08:01.2782196Z             },
2026-06-10T07:08:01.2782473Z             {
2026-06-10T07:08:01.2782864Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2783140Z               "line": 1110
2026-06-10T07:08:01.2783412Z             },
2026-06-10T07:08:01.2783680Z             {
2026-06-10T07:08:01.2784070Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.2784363Z               "line": 1357
2026-06-10T07:08:01.2784644Z             }
2026-06-10T07:08:01.2785120Z           ]
2026-06-10T07:08:01.2785402Z         }
2026-06-10T07:08:01.2785702Z       }
2026-06-10T07:08:01.2785984Z     },
2026-06-10T07:08:01.2786251Z     {
2026-06-10T07:08:01.2786547Z       "id": "REQ-PAIR-6",
2026-06-10T07:08:01.2787363Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-10T07:08:01.2787663Z       "requiredStages": [
2026-06-10T07:08:01.2787940Z         "impl",
2026-06-10T07:08:01.2788222Z         "unit"
2026-06-10T07:08:01.2788503Z       ],
2026-06-10T07:08:01.2788785Z       "stages": {
2026-06-10T07:08:01.2789147Z         "doc": {
2026-06-10T07:08:01.2789452Z           "complete": false,
2026-06-10T07:08:01.2789751Z           "evidence": []
2026-06-10T07:08:01.2790030Z         },
2026-06-10T07:08:01.2790321Z         "impl": {
2026-06-10T07:08:01.2790617Z           "complete": true,
2026-06-10T07:08:01.2790907Z           "evidence": [
2026-06-10T07:08:01.2791179Z             {
2026-06-10T07:08:01.2791523Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2791823Z               "line": 2384
2026-06-10T07:08:01.2792104Z             },
2026-06-10T07:08:01.2792394Z             {
2026-06-10T07:08:01.2792723Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2793014Z               "line": 2620
2026-06-10T07:08:01.2793295Z             },
2026-06-10T07:08:01.2793572Z             {
2026-06-10T07:08:01.2793934Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.2794230Z               "line": 18
2026-06-10T07:08:01.2794512Z             },
2026-06-10T07:08:01.2794791Z             {
2026-06-10T07:08:01.2795142Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.2795428Z               "line": 49
2026-06-10T07:08:01.2795714Z             },
2026-06-10T07:08:01.2795990Z             {
2026-06-10T07:08:01.2796334Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.2796629Z               "line": 163
2026-06-10T07:08:01.2796906Z             }
2026-06-10T07:08:01.2797182Z           ]
2026-06-10T07:08:01.2797455Z         },
2026-06-10T07:08:01.2797866Z         "int": {
2026-06-10T07:08:01.2798171Z           "complete": false,
2026-06-10T07:08:01.2798462Z           "evidence": []
2026-06-10T07:08:01.2798744Z         },
2026-06-10T07:08:01.2799106Z         "unit": {
2026-06-10T07:08:01.2799406Z           "complete": true,
2026-06-10T07:08:01.2799702Z           "evidence": [
2026-06-10T07:08:01.2799984Z             {
2026-06-10T07:08:01.2800418Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2800710Z               "line": 7800
2026-06-10T07:08:01.2800991Z             },
2026-06-10T07:08:01.2801263Z             {
2026-06-10T07:08:01.2801592Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.2801883Z               "line": 7817
2026-06-10T07:08:01.2802164Z             },
2026-06-10T07:08:01.2802446Z             {
2026-06-10T07:08:01.2802794Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.2803088Z               "line": 228
2026-06-10T07:08:01.2803364Z             },
2026-06-10T07:08:01.2803650Z             {
2026-06-10T07:08:01.2803993Z               "path": "crates/spt/src/elevation.rs",
2026-06-10T07:08:01.2804289Z               "line": 237
2026-06-10T07:08:01.2804575Z             }
2026-06-10T07:08:01.2804851Z           ]
2026-06-10T07:08:01.2805129Z         }
2026-06-10T07:08:01.2805404Z       }
2026-06-10T07:08:01.2805678Z     },
2026-06-10T07:08:01.2805950Z     {
2026-06-10T07:08:01.2806254Z       "id": "REQ-PAIR-7",
2026-06-10T07:08:01.2806756Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-10T07:08:01.2807061Z       "requiredStages": [],
2026-06-10T07:08:01.2807343Z       "stages": {
2026-06-10T07:08:01.2807620Z         "doc": {
2026-06-10T07:08:01.2807911Z           "complete": false,
2026-06-10T07:08:01.2808199Z           "evidence": []
2026-06-10T07:08:01.2808478Z         },
2026-06-10T07:08:01.2808760Z         "impl": {
2026-06-10T07:08:01.2809121Z           "complete": false,
2026-06-10T07:08:01.2809417Z           "evidence": []
2026-06-10T07:08:01.2809704Z         },
2026-06-10T07:08:01.2809985Z         "int": {
2026-06-10T07:08:01.2810285Z           "complete": false,
2026-06-10T07:08:01.2810577Z           "evidence": []
2026-06-10T07:08:01.2810861Z         },
2026-06-10T07:08:01.2811140Z         "unit": {
2026-06-10T07:08:01.2811446Z           "complete": false,
2026-06-10T07:08:01.2811737Z           "evidence": []
2026-06-10T07:08:01.2812027Z         }
2026-06-10T07:08:01.2812294Z       }
2026-06-10T07:08:01.2812572Z     },
2026-06-10T07:08:01.2812847Z     {
2026-06-10T07:08:01.2813143Z       "id": "REQ-PAIR-8",
2026-06-10T07:08:01.2817101Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-10T07:08:01.2817512Z       "requiredStages": [
2026-06-10T07:08:01.2817803Z         "impl",
2026-06-10T07:08:01.2818093Z         "unit"
2026-06-10T07:08:01.2818370Z       ],
2026-06-10T07:08:01.2818660Z       "stages": {
2026-06-10T07:08:01.2819033Z         "doc": {
2026-06-10T07:08:01.2819339Z           "complete": false,
2026-06-10T07:08:01.2819644Z           "evidence": []
2026-06-10T07:08:01.2819944Z         },
2026-06-10T07:08:01.2820226Z         "impl": {
2026-06-10T07:08:01.2820522Z           "complete": true,
2026-06-10T07:08:01.2820813Z           "evidence": [
2026-06-10T07:08:01.2821104Z             {
2026-06-10T07:08:01.2821491Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.2821773Z               "line": 577
2026-06-10T07:08:01.2822054Z             },
2026-06-10T07:08:01.2822331Z             {
2026-06-10T07:08:01.2822717Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-10T07:08:01.2823008Z               "line": 22
2026-06-10T07:08:01.2823426Z             },
2026-06-10T07:08:01.2823703Z             {
2026-06-10T07:08:01.2824103Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-10T07:08:01.2824385Z               "line": 76
2026-06-10T07:08:01.2824656Z             },
2026-06-10T07:08:01.2824929Z             {
2026-06-10T07:08:01.2825323Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-10T07:08:01.2825705Z               "line": 127
2026-06-10T07:08:01.2825990Z             }
2026-06-10T07:08:01.2826268Z           ]
2026-06-10T07:08:01.2826543Z         },
2026-06-10T07:08:01.2826851Z         "int": {
2026-06-10T07:08:01.2827142Z           "complete": false,
2026-06-10T07:08:01.2827448Z           "evidence": []
2026-06-10T07:08:01.2827734Z         },
2026-06-10T07:08:01.2828019Z         "unit": {
2026-06-10T07:08:01.2828319Z           "complete": true,
2026-06-10T07:08:01.2828596Z           "evidence": [
2026-06-10T07:08:01.2828867Z             {
2026-06-10T07:08:01.2829358Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-10T07:08:01.2829642Z               "line": 183
2026-06-10T07:08:01.2829913Z             },
2026-06-10T07:08:01.2830194Z             {
2026-06-10T07:08:01.2830581Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-10T07:08:01.2830867Z               "line": 195
2026-06-10T07:08:01.2831158Z             },
2026-06-10T07:08:01.2831434Z             {
2026-06-10T07:08:01.2831829Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-10T07:08:01.2832118Z               "line": 211
2026-06-10T07:08:01.2832432Z             },
2026-06-10T07:08:01.2832705Z             {
2026-06-10T07:08:01.2833081Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-10T07:08:01.2833367Z               "line": 227
2026-06-10T07:08:01.2833634Z             }
2026-06-10T07:08:01.2833906Z           ]
2026-06-10T07:08:01.2834179Z         }
2026-06-10T07:08:01.2834451Z       }
2026-06-10T07:08:01.2834734Z     },
2026-06-10T07:08:01.2835010Z     {
2026-06-10T07:08:01.2835311Z       "id": "REQ-PRES-1",
2026-06-10T07:08:01.2839262Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-10T07:08:01.2839625Z       "requiredStages": [
2026-06-10T07:08:01.2839913Z         "impl",
2026-06-10T07:08:01.2840197Z         "unit",
2026-06-10T07:08:01.2840478Z         "int"
2026-06-10T07:08:01.2840750Z       ],
2026-06-10T07:08:01.2841036Z       "stages": {
2026-06-10T07:08:01.2841317Z         "doc": {
2026-06-10T07:08:01.2841637Z           "complete": true,
2026-06-10T07:08:01.2841928Z           "evidence": [
2026-06-10T07:08:01.2842224Z             {
2026-06-10T07:08:01.2842546Z               "path": "docs/DEFERRED.md",
2026-06-10T07:08:01.2842835Z               "line": 11
2026-06-10T07:08:01.2843112Z             }
2026-06-10T07:08:01.2843388Z           ]
2026-06-10T07:08:01.2843669Z         },
2026-06-10T07:08:01.2843951Z         "impl": {
2026-06-10T07:08:01.2844247Z           "complete": true,
2026-06-10T07:08:01.2844542Z           "evidence": [
2026-06-10T07:08:01.2844842Z             {
2026-06-10T07:08:01.2845228Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.2845519Z               "line": 515
2026-06-10T07:08:01.2845801Z             },
2026-06-10T07:08:01.2846087Z             {
2026-06-10T07:08:01.2846458Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.2846744Z               "line": 567
2026-06-10T07:08:01.2847031Z             },
2026-06-10T07:08:01.2847318Z             {
2026-06-10T07:08:01.2847682Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2848109Z               "line": 181
2026-06-10T07:08:01.2848391Z             },
2026-06-10T07:08:01.2848667Z             {
2026-06-10T07:08:01.2849115Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2849401Z               "line": 207
2026-06-10T07:08:01.2849688Z             },
2026-06-10T07:08:01.2849964Z             {
2026-06-10T07:08:01.2850349Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-10T07:08:01.2850742Z               "line": 28
2026-06-10T07:08:01.2851019Z             },
2026-06-10T07:08:01.2851305Z             {
2026-06-10T07:08:01.2851682Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-10T07:08:01.2851978Z               "line": 105
2026-06-10T07:08:01.2852259Z             },
2026-06-10T07:08:01.2852530Z             {
2026-06-10T07:08:01.2852912Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-10T07:08:01.2853195Z               "line": 161
2026-06-10T07:08:01.2853477Z             },
2026-06-10T07:08:01.2853758Z             {
2026-06-10T07:08:01.2854144Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-10T07:08:01.2854440Z               "line": 180
2026-06-10T07:08:01.2854711Z             },
2026-06-10T07:08:01.2854994Z             {
2026-06-10T07:08:01.2855393Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.2855689Z               "line": 399
2026-06-10T07:08:01.2855975Z             },
2026-06-10T07:08:01.2856256Z             {
2026-06-10T07:08:01.2856637Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.2856923Z               "line": 289
2026-06-10T07:08:01.2857210Z             },
2026-06-10T07:08:01.2857486Z             {
2026-06-10T07:08:01.2857863Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.2858152Z               "line": 336
2026-06-10T07:08:01.2858450Z             },
2026-06-10T07:08:01.2858745Z             {
2026-06-10T07:08:01.2859308Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.2859637Z               "line": 362
2026-06-10T07:08:01.2859914Z             },
2026-06-10T07:08:01.2860191Z             {
2026-06-10T07:08:01.2860562Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.2860853Z               "line": 100
2026-06-10T07:08:01.2861128Z             }
2026-06-10T07:08:01.2861404Z           ]
2026-06-10T07:08:01.2861695Z         },
2026-06-10T07:08:01.2861971Z         "int": {
2026-06-10T07:08:01.2862271Z           "complete": true,
2026-06-10T07:08:01.2862567Z           "evidence": [
2026-06-10T07:08:01.2862852Z             {
2026-06-10T07:08:01.2863250Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.2863528Z               "line": 557
2026-06-10T07:08:01.2863812Z             },
2026-06-10T07:08:01.2864089Z             {
2026-06-10T07:08:01.2864480Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2864766Z               "line": 677
2026-06-10T07:08:01.2865052Z             },
2026-06-10T07:08:01.2865343Z             {
2026-06-10T07:08:01.2865719Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2866020Z               "line": 1070
2026-06-10T07:08:01.2866296Z             }
2026-06-10T07:08:01.2866573Z           ]
2026-06-10T07:08:01.2866845Z         },
2026-06-10T07:08:01.2867127Z         "unit": {
2026-06-10T07:08:01.2867431Z           "complete": true,
2026-06-10T07:08:01.2867726Z           "evidence": [
2026-06-10T07:08:01.2868012Z             {
2026-06-10T07:08:01.2868380Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.2868683Z               "line": 601
2026-06-10T07:08:01.2869029Z             },
2026-06-10T07:08:01.2869354Z             {
2026-06-10T07:08:01.2869731Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-10T07:08:01.2870017Z               "line": 237
2026-06-10T07:08:01.2870298Z             },
2026-06-10T07:08:01.2870584Z             {
2026-06-10T07:08:01.2870976Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-10T07:08:01.2871385Z               "line": 268
2026-06-10T07:08:01.2871660Z             },
2026-06-10T07:08:01.2871944Z             {
2026-06-10T07:08:01.2872316Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-10T07:08:01.2872617Z               "line": 304
2026-06-10T07:08:01.2872894Z             },
2026-06-10T07:08:01.2873271Z             {
2026-06-10T07:08:01.2873646Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-10T07:08:01.2873938Z               "line": 335
2026-06-10T07:08:01.2874222Z             },
2026-06-10T07:08:01.2874497Z             {
2026-06-10T07:08:01.2874897Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.2875188Z               "line": 1135
2026-06-10T07:08:01.2875470Z             },
2026-06-10T07:08:01.2875756Z             {
2026-06-10T07:08:01.2876133Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.2876434Z               "line": 1112
2026-06-10T07:08:01.2876710Z             }
2026-06-10T07:08:01.2876989Z           ]
2026-06-10T07:08:01.2877265Z         }
2026-06-10T07:08:01.2877542Z       }
2026-06-10T07:08:01.2877819Z     },
2026-06-10T07:08:01.2878086Z     {
2026-06-10T07:08:01.2878387Z       "id": "REQ-REACH-1",
2026-06-10T07:08:01.2879267Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-10T07:08:01.2879637Z       "requiredStages": [
2026-06-10T07:08:01.2879909Z         "impl",
2026-06-10T07:08:01.2880200Z         "unit",
2026-06-10T07:08:01.2880475Z         "int"
2026-06-10T07:08:01.2880748Z       ],
2026-06-10T07:08:01.2881025Z       "stages": {
2026-06-10T07:08:01.2881306Z         "doc": {
2026-06-10T07:08:01.2881602Z           "complete": false,
2026-06-10T07:08:01.2881898Z           "evidence": []
2026-06-10T07:08:01.2882173Z         },
2026-06-10T07:08:01.2882457Z         "impl": {
2026-06-10T07:08:01.2882752Z           "complete": true,
2026-06-10T07:08:01.2883067Z           "evidence": [
2026-06-10T07:08:01.2883352Z             {
2026-06-10T07:08:01.2883725Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-10T07:08:01.2884016Z               "line": 140
2026-06-10T07:08:01.2884297Z             },
2026-06-10T07:08:01.2884572Z             {
2026-06-10T07:08:01.2884927Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-10T07:08:01.2885214Z               "line": 76
2026-06-10T07:08:01.2885501Z             },
2026-06-10T07:08:01.2885781Z             {
2026-06-10T07:08:01.2886134Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-10T07:08:01.2886434Z               "line": 222
2026-06-10T07:08:01.2886721Z             },
2026-06-10T07:08:01.2887055Z             {
2026-06-10T07:08:01.2887421Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-10T07:08:01.2887708Z               "line": 422
2026-06-10T07:08:01.2888003Z             },
2026-06-10T07:08:01.2888284Z             {
2026-06-10T07:08:01.2888651Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-10T07:08:01.2889013Z               "line": 529
2026-06-10T07:08:01.2889290Z             },
2026-06-10T07:08:01.2889563Z             {
2026-06-10T07:08:01.2889917Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-10T07:08:01.2890207Z               "line": 39
2026-06-10T07:08:01.2890479Z             },
2026-06-10T07:08:01.2890755Z             {
2026-06-10T07:08:01.2891128Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.2891423Z               "line": 229
2026-06-10T07:08:01.2891704Z             },
2026-06-10T07:08:01.2891980Z             {
2026-06-10T07:08:01.2892329Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-10T07:08:01.2892618Z               "line": 88
2026-06-10T07:08:01.2892898Z             },
2026-06-10T07:08:01.2893179Z             {
2026-06-10T07:08:01.2893527Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-10T07:08:01.2893823Z               "line": 98
2026-06-10T07:08:01.2894099Z             },
2026-06-10T07:08:01.2894500Z             {
2026-06-10T07:08:01.2894871Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.2895156Z               "line": 210
2026-06-10T07:08:01.2895436Z             }
2026-06-10T07:08:01.2895699Z           ]
2026-06-10T07:08:01.2895975Z         },
2026-06-10T07:08:01.2896252Z         "int": {
2026-06-10T07:08:01.2896547Z           "complete": true,
2026-06-10T07:08:01.2896943Z           "evidence": [
2026-06-10T07:08:01.2897225Z             {
2026-06-10T07:08:01.2897615Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.2897907Z               "line": 415
2026-06-10T07:08:01.2898186Z             },
2026-06-10T07:08:01.2898458Z             {
2026-06-10T07:08:01.2898854Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.2899216Z               "line": 514
2026-06-10T07:08:01.2899493Z             },
2026-06-10T07:08:01.2899770Z             {
2026-06-10T07:08:01.2900146Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2900450Z               "line": 903
2026-06-10T07:08:01.2900724Z             },
2026-06-10T07:08:01.2900996Z             {
2026-06-10T07:08:01.2901392Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.2901683Z               "line": 1198
2026-06-10T07:08:01.2901964Z             }
2026-06-10T07:08:01.2902240Z           ]
2026-06-10T07:08:01.2902526Z         },
2026-06-10T07:08:01.2902803Z         "unit": {
2026-06-10T07:08:01.2903112Z           "complete": true,
2026-06-10T07:08:01.2903401Z           "evidence": [
2026-06-10T07:08:01.2903678Z             {
2026-06-10T07:08:01.2904040Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-10T07:08:01.2904331Z               "line": 639
2026-06-10T07:08:01.2904612Z             },
2026-06-10T07:08:01.2904885Z             {
2026-06-10T07:08:01.2905242Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-10T07:08:01.2905533Z               "line": 660
2026-06-10T07:08:01.2905807Z             },
2026-06-10T07:08:01.2906095Z             {
2026-06-10T07:08:01.2906478Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-10T07:08:01.2906773Z               "line": 391
2026-06-10T07:08:01.2907044Z             },
2026-06-10T07:08:01.2907325Z             {
2026-06-10T07:08:01.2907698Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-10T07:08:01.2907989Z               "line": 93
2026-06-10T07:08:01.2908284Z             },
2026-06-10T07:08:01.2908555Z             {
2026-06-10T07:08:01.2908931Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-10T07:08:01.2909294Z               "line": 224
2026-06-10T07:08:01.2909575Z             },
2026-06-10T07:08:01.2909857Z             {
2026-06-10T07:08:01.2910214Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-10T07:08:01.2910505Z               "line": 96
2026-06-10T07:08:01.2910781Z             },
2026-06-10T07:08:01.2911066Z             {
2026-06-10T07:08:01.2911427Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-10T07:08:01.2911728Z               "line": 146
2026-06-10T07:08:01.2915219Z             },
2026-06-10T07:08:01.2915525Z             {
2026-06-10T07:08:01.2915896Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.2916192Z               "line": 502
2026-06-10T07:08:01.2916476Z             },
2026-06-10T07:08:01.2916746Z             {
2026-06-10T07:08:01.2917119Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-10T07:08:01.2917405Z               "line": 118
2026-06-10T07:08:01.2917673Z             },
2026-06-10T07:08:01.2917948Z             {
2026-06-10T07:08:01.2918287Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-10T07:08:01.2918578Z               "line": 148
2026-06-10T07:08:01.2918854Z             },
2026-06-10T07:08:01.2919201Z             {
2026-06-10T07:08:01.2919583Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.2919864Z               "line": 602
2026-06-10T07:08:01.2920145Z             }
2026-06-10T07:08:01.2920580Z           ]
2026-06-10T07:08:01.2920857Z         }
2026-06-10T07:08:01.2921128Z       }
2026-06-10T07:08:01.2921408Z     },
2026-06-10T07:08:01.2921687Z     {
2026-06-10T07:08:01.2921978Z       "id": "REQ-REACH-2",
2026-06-10T07:08:01.2922464Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-10T07:08:01.2922770Z       "requiredStages": [],
2026-06-10T07:08:01.2923156Z       "stages": {
2026-06-10T07:08:01.2923428Z         "doc": {
2026-06-10T07:08:01.2923724Z           "complete": false,
2026-06-10T07:08:01.2924019Z           "evidence": []
2026-06-10T07:08:01.2924294Z         },
2026-06-10T07:08:01.2924573Z         "impl": {
2026-06-10T07:08:01.2924873Z           "complete": false,
2026-06-10T07:08:01.2925160Z           "evidence": []
2026-06-10T07:08:01.2925431Z         },
2026-06-10T07:08:01.2925713Z         "int": {
2026-06-10T07:08:01.2926052Z           "complete": false,
2026-06-10T07:08:01.2926343Z           "evidence": []
2026-06-10T07:08:01.2926644Z         },
2026-06-10T07:08:01.2926941Z         "unit": {
2026-06-10T07:08:01.2927254Z           "complete": false,
2026-06-10T07:08:01.2927540Z           "evidence": []
2026-06-10T07:08:01.2927816Z         }
2026-06-10T07:08:01.2928093Z       }
2026-06-10T07:08:01.2928356Z     },
2026-06-10T07:08:01.2928628Z     {
2026-06-10T07:08:01.2928909Z       "id": "REQ-REL-1",
2026-06-10T07:08:01.2930162Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-10T07:08:01.2930458Z       "requiredStages": [
2026-06-10T07:08:01.2930729Z         "doc",
2026-06-10T07:08:01.2931014Z         "impl"
2026-06-10T07:08:01.2931278Z       ],
2026-06-10T07:08:01.2931554Z       "stages": {
2026-06-10T07:08:01.2931831Z         "doc": {
2026-06-10T07:08:01.2932130Z           "complete": true,
2026-06-10T07:08:01.2932419Z           "evidence": [
2026-06-10T07:08:01.2932695Z             {
2026-06-10T07:08:01.2933349Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-10T07:08:01.2933644Z               "line": 3
2026-06-10T07:08:01.2933920Z             }
2026-06-10T07:08:01.2934192Z           ]
2026-06-10T07:08:01.2934526Z         },
2026-06-10T07:08:01.2934802Z         "impl": {
2026-06-10T07:08:01.2935100Z           "complete": true,
2026-06-10T07:08:01.2935401Z           "evidence": [
2026-06-10T07:08:01.2935696Z             {
2026-06-10T07:08:01.2936082Z               "path": ".github/workflows/docs-publish.yml",
2026-06-10T07:08:01.2936368Z               "line": 11
2026-06-10T07:08:01.2936645Z             },
2026-06-10T07:08:01.2936922Z             {
2026-06-10T07:08:01.2937256Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.2937550Z               "line": 265
2026-06-10T07:08:01.2937824Z             }
2026-06-10T07:08:01.2938105Z           ]
2026-06-10T07:08:01.2938377Z         },
2026-06-10T07:08:01.2938658Z         "int": {
2026-06-10T07:08:01.2939034Z           "complete": false,
2026-06-10T07:08:01.2939335Z           "evidence": []
2026-06-10T07:08:01.2939622Z         },
2026-06-10T07:08:01.2939902Z         "unit": {
2026-06-10T07:08:01.2940207Z           "complete": false,
2026-06-10T07:08:01.2940494Z           "evidence": []
2026-06-10T07:08:01.2940780Z         }
2026-06-10T07:08:01.2941051Z       }
2026-06-10T07:08:01.2941322Z     },
2026-06-10T07:08:01.2941604Z     {
2026-06-10T07:08:01.2941894Z       "id": "REQ-REL-2",
2026-06-10T07:08:01.2943394Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-10T07:08:01.2943703Z       "requiredStages": [
2026-06-10T07:08:01.2943985Z         "impl",
2026-06-10T07:08:01.2944257Z         "int"
2026-06-10T07:08:01.2944534Z       ],
2026-06-10T07:08:01.2944819Z       "stages": {
2026-06-10T07:08:01.2945081Z         "doc": {
2026-06-10T07:08:01.2945376Z           "complete": true,
2026-06-10T07:08:01.2945793Z           "evidence": [
2026-06-10T07:08:01.2946070Z             {
2026-06-10T07:08:01.2946417Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-10T07:08:01.2946689Z               "line": 6
2026-06-10T07:08:01.2946990Z             }
2026-06-10T07:08:01.2947261Z           ]
2026-06-10T07:08:01.2947534Z         },
2026-06-10T07:08:01.2947839Z         "impl": {
2026-06-10T07:08:01.2948293Z           "complete": true,
2026-06-10T07:08:01.2948584Z           "evidence": [
2026-06-10T07:08:01.2948856Z             {
2026-06-10T07:08:01.2949314Z               "path": ".github/workflows/release.yml",
2026-06-10T07:08:01.2949599Z               "line": 16
2026-06-10T07:08:01.2949876Z             },
2026-06-10T07:08:01.2950148Z             {
2026-06-10T07:08:01.2950486Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.2950781Z               "line": 352
2026-06-10T07:08:01.2951054Z             },
2026-06-10T07:08:01.2951330Z             {
2026-06-10T07:08:01.2951678Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.2951964Z               "line": 426
2026-06-10T07:08:01.2952242Z             },
2026-06-10T07:08:01.2952513Z             {
2026-06-10T07:08:01.2952851Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.2953140Z               "line": 588
2026-06-10T07:08:01.2953419Z             },
2026-06-10T07:08:01.2953696Z             {
2026-06-10T07:08:01.2954034Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.2954325Z               "line": 720
2026-06-10T07:08:01.2954602Z             }
2026-06-10T07:08:01.2954884Z           ]
2026-06-10T07:08:01.2955156Z         },
2026-06-10T07:08:01.2955419Z         "int": {
2026-06-10T07:08:01.2955709Z           "complete": true,
2026-06-10T07:08:01.2956007Z           "evidence": [
2026-06-10T07:08:01.2956267Z             {
2026-06-10T07:08:01.2956663Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-10T07:08:01.2956949Z               "line": 13
2026-06-10T07:08:01.2957221Z             }
2026-06-10T07:08:01.2957498Z           ]
2026-06-10T07:08:01.2957760Z         },
2026-06-10T07:08:01.2958043Z         "unit": {
2026-06-10T07:08:01.2958334Z           "complete": false,
2026-06-10T07:08:01.2958631Z           "evidence": []
2026-06-10T07:08:01.2958910Z         }
2026-06-10T07:08:01.2959259Z       }
2026-06-10T07:08:01.2959535Z     },
2026-06-10T07:08:01.2959807Z     {
2026-06-10T07:08:01.2960098Z       "id": "REQ-REL-3",
2026-06-10T07:08:01.2961446Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-10T07:08:01.2961755Z       "requiredStages": [
2026-06-10T07:08:01.2962042Z         "impl",
2026-06-10T07:08:01.2962319Z         "unit"
2026-06-10T07:08:01.2962596Z       ],
2026-06-10T07:08:01.2962873Z       "stages": {
2026-06-10T07:08:01.2963154Z         "doc": {
2026-06-10T07:08:01.2963451Z           "complete": false,
2026-06-10T07:08:01.2963753Z           "evidence": []
2026-06-10T07:08:01.2964027Z         },
2026-06-10T07:08:01.2964303Z         "impl": {
2026-06-10T07:08:01.2964604Z           "complete": true,
2026-06-10T07:08:01.2964890Z           "evidence": [
2026-06-10T07:08:01.2965205Z             {
2026-06-10T07:08:01.2965577Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.2965920Z               "line": 237
2026-06-10T07:08:01.2966220Z             },
2026-06-10T07:08:01.2966491Z             {
2026-06-10T07:08:01.2966889Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.2967175Z               "line": 289
2026-06-10T07:08:01.2967452Z             },
2026-06-10T07:08:01.2967720Z             {
2026-06-10T07:08:01.2968063Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.2968349Z               "line": 329
2026-06-10T07:08:01.2968617Z             },
2026-06-10T07:08:01.2968889Z             {
2026-06-10T07:08:01.2969296Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.2969780Z               "line": 353
2026-06-10T07:08:01.2970052Z             },
2026-06-10T07:08:01.2970352Z             {
2026-06-10T07:08:01.2970691Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.2970977Z               "line": 394
2026-06-10T07:08:01.2971258Z             }
2026-06-10T07:08:01.2971535Z           ]
2026-06-10T07:08:01.2971911Z         },
2026-06-10T07:08:01.2972184Z         "int": {
2026-06-10T07:08:01.2972484Z           "complete": false,
2026-06-10T07:08:01.2972779Z           "evidence": []
2026-06-10T07:08:01.2973057Z         },
2026-06-10T07:08:01.2973337Z         "unit": {
2026-06-10T07:08:01.2973628Z           "complete": true,
2026-06-10T07:08:01.2973923Z           "evidence": [
2026-06-10T07:08:01.2974194Z             {
2026-06-10T07:08:01.2974573Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.2974863Z               "line": 992
2026-06-10T07:08:01.2975136Z             },
2026-06-10T07:08:01.2975427Z             {
2026-06-10T07:08:01.2975798Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.2976089Z               "line": 1051
2026-06-10T07:08:01.2976366Z             }
2026-06-10T07:08:01.2976629Z           ]
2026-06-10T07:08:01.2976901Z         }
2026-06-10T07:08:01.2977209Z       }
2026-06-10T07:08:01.2977589Z     },
2026-06-10T07:08:01.2977870Z     {
2026-06-10T07:08:01.2978199Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-10T07:08:01.2978791Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-10T07:08:01.2979270Z       "requiredStages": [
2026-06-10T07:08:01.2979562Z         "impl",
2026-06-10T07:08:01.2979833Z         "unit"
2026-06-10T07:08:01.2980112Z       ],
2026-06-10T07:08:01.2980389Z       "stages": {
2026-06-10T07:08:01.2980669Z         "doc": {
2026-06-10T07:08:01.2980965Z           "complete": false,
2026-06-10T07:08:01.2981261Z           "evidence": []
2026-06-10T07:08:01.2981538Z         },
2026-06-10T07:08:01.2981823Z         "impl": {
2026-06-10T07:08:01.2982123Z           "complete": true,
2026-06-10T07:08:01.2982406Z           "evidence": [
2026-06-10T07:08:01.2982682Z             {
2026-06-10T07:08:01.2983048Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.2983335Z               "line": 18
2026-06-10T07:08:01.2983621Z             },
2026-06-10T07:08:01.2983888Z             {
2026-06-10T07:08:01.2984261Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.2984546Z               "line": 35
2026-06-10T07:08:01.2984825Z             },
2026-06-10T07:08:01.2985099Z             {
2026-06-10T07:08:01.2985452Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.2985748Z               "line": 72
2026-06-10T07:08:01.2986025Z             }
2026-06-10T07:08:01.2986306Z           ]
2026-06-10T07:08:01.2986578Z         },
2026-06-10T07:08:01.2986865Z         "int": {
2026-06-10T07:08:01.2987189Z           "complete": false,
2026-06-10T07:08:01.2987485Z           "evidence": []
2026-06-10T07:08:01.2987769Z         },
2026-06-10T07:08:01.2988048Z         "unit": {
2026-06-10T07:08:01.2988348Z           "complete": true,
2026-06-10T07:08:01.2988639Z           "evidence": [
2026-06-10T07:08:01.2988925Z             {
2026-06-10T07:08:01.2989374Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.2989666Z               "line": 214
2026-06-10T07:08:01.2989956Z             },
2026-06-10T07:08:01.2990226Z             {
2026-06-10T07:08:01.2990600Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.2990891Z               "line": 231
2026-06-10T07:08:01.2991172Z             },
2026-06-10T07:08:01.2991449Z             {
2026-06-10T07:08:01.2991811Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.2992098Z               "line": 240
2026-06-10T07:08:01.2992373Z             }
2026-06-10T07:08:01.2992656Z           ]
2026-06-10T07:08:01.2992924Z         }
2026-06-10T07:08:01.2993328Z       }
2026-06-10T07:08:01.2993604Z     },
2026-06-10T07:08:01.2993876Z     {
2026-06-10T07:08:01.2994191Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-10T07:08:01.2994638Z       "title": "Hostable endpoint-types capability declaration",
2026-06-10T07:08:01.2994948Z       "requiredStages": [
2026-06-10T07:08:01.2995220Z         "impl",
2026-06-10T07:08:01.2995500Z         "unit"
2026-06-10T07:08:01.2995775Z       ],
2026-06-10T07:08:01.2996157Z       "stages": {
2026-06-10T07:08:01.2996843Z         "doc": {
2026-06-10T07:08:01.2997200Z           "complete": false,
2026-06-10T07:08:01.2997486Z           "evidence": []
2026-06-10T07:08:01.2997754Z         },
2026-06-10T07:08:01.2998040Z         "impl": {
2026-06-10T07:08:01.2998334Z           "complete": true,
2026-06-10T07:08:01.2998613Z           "evidence": [
2026-06-10T07:08:01.2998879Z             {
2026-06-10T07:08:01.2999343Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.2999634Z               "line": 404
2026-06-10T07:08:01.2999916Z             }
2026-06-10T07:08:01.3000182Z           ]
2026-06-10T07:08:01.3000454Z         },
2026-06-10T07:08:01.3000729Z         "int": {
2026-06-10T07:08:01.3001079Z           "complete": false,
2026-06-10T07:08:01.3001371Z           "evidence": []
2026-06-10T07:08:01.3001643Z         },
2026-06-10T07:08:01.3001924Z         "unit": {
2026-06-10T07:08:01.3002220Z           "complete": true,
2026-06-10T07:08:01.3002516Z           "evidence": [
2026-06-10T07:08:01.3002793Z             {
2026-06-10T07:08:01.3003169Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.3003455Z               "line": 641
2026-06-10T07:08:01.3003734Z             }
2026-06-10T07:08:01.3004006Z           ]
2026-06-10T07:08:01.3004282Z         }
2026-06-10T07:08:01.3004555Z       }
2026-06-10T07:08:01.3004831Z     },
2026-06-10T07:08:01.3005141Z     {
2026-06-10T07:08:01.3005470Z       "id": "REQ-SEAM-HISTORY",
2026-06-10T07:08:01.3006153Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-10T07:08:01.3006473Z       "requiredStages": [
2026-06-10T07:08:01.3006783Z         "impl",
2026-06-10T07:08:01.3007069Z         "unit",
2026-06-10T07:08:01.3007346Z         "int"
2026-06-10T07:08:01.3007618Z       ],
2026-06-10T07:08:01.3007894Z       "stages": {
2026-06-10T07:08:01.3008170Z         "doc": {
2026-06-10T07:08:01.3008471Z           "complete": false,
2026-06-10T07:08:01.3008765Z           "evidence": []
2026-06-10T07:08:01.3009115Z         },
2026-06-10T07:08:01.3009397Z         "impl": {
2026-06-10T07:08:01.3009707Z           "complete": true,
2026-06-10T07:08:01.3009993Z           "evidence": [
2026-06-10T07:08:01.3010265Z             {
2026-06-10T07:08:01.3010618Z               "path": "crates/spt-live/src/echo.rs",
2026-06-10T07:08:01.3010909Z               "line": 24
2026-06-10T07:08:01.3011181Z             },
2026-06-10T07:08:01.3011452Z             {
2026-06-10T07:08:01.3011817Z               "path": "crates/spt-live/src/history.rs",
2026-06-10T07:08:01.3012108Z               "line": 22
2026-06-10T07:08:01.3012384Z             }
2026-06-10T07:08:01.3012660Z           ]
2026-06-10T07:08:01.3012936Z         },
2026-06-10T07:08:01.3013209Z         "int": {
2026-06-10T07:08:01.3013513Z           "complete": true,
2026-06-10T07:08:01.3013809Z           "evidence": [
2026-06-10T07:08:01.3014091Z             {
2026-06-10T07:08:01.3014467Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-10T07:08:01.3014758Z               "line": 256
2026-06-10T07:08:01.3015039Z             }
2026-06-10T07:08:01.3015316Z           ]
2026-06-10T07:08:01.3015969Z         },
2026-06-10T07:08:01.3016256Z         "unit": {
2026-06-10T07:08:01.3016558Z           "complete": true,
2026-06-10T07:08:01.3016866Z           "evidence": [
2026-06-10T07:08:01.3017162Z             {
2026-06-10T07:08:01.3017568Z               "path": "crates/spt-live/src/echo.rs",
2026-06-10T07:08:01.3017854Z               "line": 167
2026-06-10T07:08:01.3018140Z             },
2026-06-10T07:08:01.3018554Z             {
2026-06-10T07:08:01.3018902Z               "path": "crates/spt-live/src/echo.rs",
2026-06-10T07:08:01.3019292Z               "line": 196
2026-06-10T07:08:01.3019562Z             },
2026-06-10T07:08:01.3019848Z             {
2026-06-10T07:08:01.3020196Z               "path": "crates/spt-live/src/echo.rs",
2026-06-10T07:08:01.3020482Z               "line": 216
2026-06-10T07:08:01.3020768Z             },
2026-06-10T07:08:01.3021173Z             {
2026-06-10T07:08:01.3021540Z               "path": "crates/spt-live/src/history.rs",
2026-06-10T07:08:01.3021831Z               "line": 199
2026-06-10T07:08:01.3022119Z             },
2026-06-10T07:08:01.3022401Z             {
2026-06-10T07:08:01.3022758Z               "path": "crates/spt-live/src/history.rs",
2026-06-10T07:08:01.3023049Z               "line": 219
2026-06-10T07:08:01.3023326Z             },
2026-06-10T07:08:01.3023603Z             {
2026-06-10T07:08:01.3023960Z               "path": "crates/spt-live/src/history.rs",
2026-06-10T07:08:01.3024261Z               "line": 244
2026-06-10T07:08:01.3024547Z             },
2026-06-10T07:08:01.3024826Z             {
2026-06-10T07:08:01.3025184Z               "path": "crates/spt-live/src/history.rs",
2026-06-10T07:08:01.3025470Z               "line": 269
2026-06-10T07:08:01.3025736Z             },
2026-06-10T07:08:01.3026014Z             {
2026-06-10T07:08:01.3026375Z               "path": "crates/spt-live/src/history.rs",
2026-06-10T07:08:01.3026672Z               "line": 290
2026-06-10T07:08:01.3026952Z             },
2026-06-10T07:08:01.3027241Z             {
2026-06-10T07:08:01.3027598Z               "path": "crates/spt-live/src/history.rs",
2026-06-10T07:08:01.3027889Z               "line": 317
2026-06-10T07:08:01.3028151Z             }
2026-06-10T07:08:01.3028433Z           ]
2026-06-10T07:08:01.3028700Z         }
2026-06-10T07:08:01.3029171Z       }
2026-06-10T07:08:01.3029439Z     },
2026-06-10T07:08:01.3029707Z     {
2026-06-10T07:08:01.3030009Z       "id": "REQ-SEAM-INJECT",
2026-06-10T07:08:01.3030512Z       "title": "inject-input methods configurable per activity-state",
2026-06-10T07:08:01.3030798Z       "requiredStages": [
2026-06-10T07:08:01.3031071Z         "impl",
2026-06-10T07:08:01.3031347Z         "unit"
2026-06-10T07:08:01.3031620Z       ],
2026-06-10T07:08:01.3031887Z       "stages": {
2026-06-10T07:08:01.3032167Z         "doc": {
2026-06-10T07:08:01.3032475Z           "complete": false,
2026-06-10T07:08:01.3032807Z           "evidence": []
2026-06-10T07:08:01.3033089Z         },
2026-06-10T07:08:01.3033365Z         "impl": {
2026-06-10T07:08:01.3033661Z           "complete": true,
2026-06-10T07:08:01.3033947Z           "evidence": [
2026-06-10T07:08:01.3034219Z             {
2026-06-10T07:08:01.3034586Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.3034877Z               "line": 19
2026-06-10T07:08:01.3035155Z             },
2026-06-10T07:08:01.3035429Z             {
2026-06-10T07:08:01.3035792Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.3036083Z               "line": 111
2026-06-10T07:08:01.3036363Z             }
2026-06-10T07:08:01.3036635Z           ]
2026-06-10T07:08:01.3036912Z         },
2026-06-10T07:08:01.3037197Z         "int": {
2026-06-10T07:08:01.3037484Z           "complete": false,
2026-06-10T07:08:01.3037778Z           "evidence": []
2026-06-10T07:08:01.3038054Z         },
2026-06-10T07:08:01.3038325Z         "unit": {
2026-06-10T07:08:01.3038621Z           "complete": true,
2026-06-10T07:08:01.3038902Z           "evidence": [
2026-06-10T07:08:01.3039275Z             {
2026-06-10T07:08:01.3039632Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.3039928Z               "line": 320
2026-06-10T07:08:01.3040205Z             },
2026-06-10T07:08:01.3040483Z             {
2026-06-10T07:08:01.3040834Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.3041120Z               "line": 340
2026-06-10T07:08:01.3041401Z             }
2026-06-10T07:08:01.3041660Z           ]
2026-06-10T07:08:01.3042050Z         }
2026-06-10T07:08:01.3042327Z       }
2026-06-10T07:08:01.3042598Z     },
2026-06-10T07:08:01.3042871Z     {
2026-06-10T07:08:01.3043188Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-10T07:08:01.3043606Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-10T07:08:01.3043902Z       "requiredStages": [
2026-06-10T07:08:01.3044198Z         "impl",
2026-06-10T07:08:01.3044579Z         "unit"
2026-06-10T07:08:01.3044851Z       ],
2026-06-10T07:08:01.3045132Z       "stages": {
2026-06-10T07:08:01.3045409Z         "doc": {
2026-06-10T07:08:01.3045715Z           "complete": false,
2026-06-10T07:08:01.3046004Z           "evidence": []
2026-06-10T07:08:01.3046285Z         },
2026-06-10T07:08:01.3046565Z         "impl": {
2026-06-10T07:08:01.3046861Z           "complete": true,
2026-06-10T07:08:01.3047148Z           "evidence": [
2026-06-10T07:08:01.3047429Z             {
2026-06-10T07:08:01.3047792Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3048091Z               "line": 18
2026-06-10T07:08:01.3048366Z             },
2026-06-10T07:08:01.3048638Z             {
2026-06-10T07:08:01.3049113Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3049413Z               "line": 309
2026-06-10T07:08:01.3049701Z             }
2026-06-10T07:08:01.3049982Z           ]
2026-06-10T07:08:01.3050254Z         },
2026-06-10T07:08:01.3050550Z         "int": {
2026-06-10T07:08:01.3050851Z           "complete": false,
2026-06-10T07:08:01.3051139Z           "evidence": []
2026-06-10T07:08:01.3051409Z         },
2026-06-10T07:08:01.3051690Z         "unit": {
2026-06-10T07:08:01.3051990Z           "complete": true,
2026-06-10T07:08:01.3052276Z           "evidence": [
2026-06-10T07:08:01.3052558Z             {
2026-06-10T07:08:01.3052915Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3053211Z               "line": 559
2026-06-10T07:08:01.3053482Z             },
2026-06-10T07:08:01.3053758Z             {
2026-06-10T07:08:01.3054128Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3054410Z               "line": 569
2026-06-10T07:08:01.3054682Z             }
2026-06-10T07:08:01.3054954Z           ]
2026-06-10T07:08:01.3055234Z         }
2026-06-10T07:08:01.3055501Z       }
2026-06-10T07:08:01.3055773Z     },
2026-06-10T07:08:01.3056049Z     {
2026-06-10T07:08:01.3056378Z       "id": "REQ-SEAM-PSYCHE",
2026-06-10T07:08:01.3057036Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-10T07:08:01.3057332Z       "requiredStages": [
2026-06-10T07:08:01.3057613Z         "impl",
2026-06-10T07:08:01.3057890Z         "unit",
2026-06-10T07:08:01.3058172Z         "int"
2026-06-10T07:08:01.3058477Z       ],
2026-06-10T07:08:01.3058765Z       "stages": {
2026-06-10T07:08:01.3059126Z         "doc": {
2026-06-10T07:08:01.3059402Z           "complete": false,
2026-06-10T07:08:01.3059688Z           "evidence": []
2026-06-10T07:08:01.3059955Z         },
2026-06-10T07:08:01.3060232Z         "impl": {
2026-06-10T07:08:01.3060537Z           "complete": true,
2026-06-10T07:08:01.3060823Z           "evidence": [
2026-06-10T07:08:01.3061091Z             {
2026-06-10T07:08:01.3061448Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-10T07:08:01.3061737Z               "line": 19
2026-06-10T07:08:01.3062007Z             },
2026-06-10T07:08:01.3062288Z             {
2026-06-10T07:08:01.3062637Z               "path": "crates/spt/src/api/live.rs",
2026-06-10T07:08:01.3062918Z               "line": 12
2026-06-10T07:08:01.3063199Z             },
2026-06-10T07:08:01.3063471Z             {
2026-06-10T07:08:01.3063828Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3064118Z               "line": 209
2026-06-10T07:08:01.3064397Z             }
2026-06-10T07:08:01.3064670Z           ]
2026-06-10T07:08:01.3064941Z         },
2026-06-10T07:08:01.3065223Z         "int": {
2026-06-10T07:08:01.3065538Z           "complete": true,
2026-06-10T07:08:01.3065942Z           "evidence": [
2026-06-10T07:08:01.3066343Z             {
2026-06-10T07:08:01.3066725Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-10T07:08:01.3067042Z               "line": 255
2026-06-10T07:08:01.3067324Z             }
2026-06-10T07:08:01.3067605Z           ]
2026-06-10T07:08:01.3067873Z         },
2026-06-10T07:08:01.3068154Z         "unit": {
2026-06-10T07:08:01.3068450Z           "complete": true,
2026-06-10T07:08:01.3068840Z           "evidence": [
2026-06-10T07:08:01.3069188Z             {
2026-06-10T07:08:01.3069557Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-10T07:08:01.3069858Z               "line": 161
2026-06-10T07:08:01.3070134Z             },
2026-06-10T07:08:01.3070406Z             {
2026-06-10T07:08:01.3070763Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-10T07:08:01.3071059Z               "line": 168
2026-06-10T07:08:01.3071336Z             },
2026-06-10T07:08:01.3071609Z             {
2026-06-10T07:08:01.3071966Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-10T07:08:01.3072269Z               "line": 191
2026-06-10T07:08:01.3072543Z             },
2026-06-10T07:08:01.3072815Z             {
2026-06-10T07:08:01.3073168Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-10T07:08:01.3073459Z               "line": 106
2026-06-10T07:08:01.3073740Z             },
2026-06-10T07:08:01.3074026Z             {
2026-06-10T07:08:01.3074393Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-10T07:08:01.3074688Z               "line": 137
2026-06-10T07:08:01.3074962Z             },
2026-06-10T07:08:01.3075235Z             {
2026-06-10T07:08:01.3075592Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-10T07:08:01.3075878Z               "line": 161
2026-06-10T07:08:01.3076150Z             }
2026-06-10T07:08:01.3076427Z           ]
2026-06-10T07:08:01.3076699Z         }
2026-06-10T07:08:01.3076970Z       }
2026-06-10T07:08:01.3077236Z     },
2026-06-10T07:08:01.3077503Z     {
2026-06-10T07:08:01.3077808Z       "id": "REQ-SEAM-RESUME",
2026-06-10T07:08:01.3078380Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-10T07:08:01.3078686Z       "requiredStages": [
2026-06-10T07:08:01.3079024Z         "impl",
2026-06-10T07:08:01.3079297Z         "unit"
2026-06-10T07:08:01.3079573Z       ],
2026-06-10T07:08:01.3079847Z       "stages": {
2026-06-10T07:08:01.3080122Z         "doc": {
2026-06-10T07:08:01.3080427Z           "complete": false,
2026-06-10T07:08:01.3080718Z           "evidence": []
2026-06-10T07:08:01.3080995Z         },
2026-06-10T07:08:01.3081276Z         "impl": {
2026-06-10T07:08:01.3081577Z           "complete": true,
2026-06-10T07:08:01.3081868Z           "evidence": [
2026-06-10T07:08:01.3082140Z             {
2026-06-10T07:08:01.3082503Z               "path": "crates/spt-live/src/resume.rs",
2026-06-10T07:08:01.3082786Z               "line": 19
2026-06-10T07:08:01.3083070Z             }
2026-06-10T07:08:01.3083346Z           ]
2026-06-10T07:08:01.3083623Z         },
2026-06-10T07:08:01.3083910Z         "int": {
2026-06-10T07:08:01.3084205Z           "complete": false,
2026-06-10T07:08:01.3084501Z           "evidence": []
2026-06-10T07:08:01.3084773Z         },
2026-06-10T07:08:01.3085055Z         "unit": {
2026-06-10T07:08:01.3085353Z           "complete": true,
2026-06-10T07:08:01.3085641Z           "evidence": [
2026-06-10T07:08:01.3085922Z             {
2026-06-10T07:08:01.3086280Z               "path": "crates/spt-live/src/resume.rs",
2026-06-10T07:08:01.3086571Z               "line": 179
2026-06-10T07:08:01.3086847Z             },
2026-06-10T07:08:01.3087125Z             {
2026-06-10T07:08:01.3087482Z               "path": "crates/spt-live/src/resume.rs",
2026-06-10T07:08:01.3087783Z               "line": 201
2026-06-10T07:08:01.3088068Z             },
2026-06-10T07:08:01.3088345Z             {
2026-06-10T07:08:01.3088702Z               "path": "crates/spt-live/src/resume.rs",
2026-06-10T07:08:01.3089063Z               "line": 222
2026-06-10T07:08:01.3089341Z             }
2026-06-10T07:08:01.3089918Z           ]
2026-06-10T07:08:01.3090201Z         }
2026-06-10T07:08:01.3090474Z       }
2026-06-10T07:08:01.3090748Z     },
2026-06-10T07:08:01.3091016Z     {
2026-06-10T07:08:01.3091321Z       "id": "REQ-SEAM-SPAWN",
2026-06-10T07:08:01.3091640Z       "title": "spawn-session seam",
2026-06-10T07:08:01.3091941Z       "requiredStages": [
2026-06-10T07:08:01.3092222Z         "impl",
2026-06-10T07:08:01.3092599Z         "unit"
2026-06-10T07:08:01.3092870Z       ],
2026-06-10T07:08:01.3093156Z       "stages": {
2026-06-10T07:08:01.3093427Z         "doc": {
2026-06-10T07:08:01.3093726Z           "complete": false,
2026-06-10T07:08:01.3094017Z           "evidence": []
2026-06-10T07:08:01.3094293Z         },
2026-06-10T07:08:01.3094574Z         "impl": {
2026-06-10T07:08:01.3094869Z           "complete": true,
2026-06-10T07:08:01.3095161Z           "evidence": [
2026-06-10T07:08:01.3095432Z             {
2026-06-10T07:08:01.3095813Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.3096111Z               "line": 20
2026-06-10T07:08:01.3096388Z             }
2026-06-10T07:08:01.3096669Z           ]
2026-06-10T07:08:01.3096956Z         },
2026-06-10T07:08:01.3097237Z         "int": {
2026-06-10T07:08:01.3097528Z           "complete": false,
2026-06-10T07:08:01.3097819Z           "evidence": []
2026-06-10T07:08:01.3098090Z         },
2026-06-10T07:08:01.3098380Z         "unit": {
2026-06-10T07:08:01.3098675Z           "complete": true,
2026-06-10T07:08:01.3099013Z           "evidence": [
2026-06-10T07:08:01.3099300Z             {
2026-06-10T07:08:01.3099676Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.3099972Z               "line": 435
2026-06-10T07:08:01.3100244Z             },
2026-06-10T07:08:01.3100525Z             {
2026-06-10T07:08:01.3100901Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.3101185Z               "line": 442
2026-06-10T07:08:01.3101463Z             },
2026-06-10T07:08:01.3101748Z             {
2026-06-10T07:08:01.3102130Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.3102420Z               "line": 452
2026-06-10T07:08:01.3102697Z             },
2026-06-10T07:08:01.3102974Z             {
2026-06-10T07:08:01.3103345Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.3103637Z               "line": 458
2026-06-10T07:08:01.3103916Z             },
2026-06-10T07:08:01.3104195Z             {
2026-06-10T07:08:01.3104563Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.3104858Z               "line": 483
2026-06-10T07:08:01.3105139Z             },
2026-06-10T07:08:01.3105411Z             {
2026-06-10T07:08:01.3105788Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-10T07:08:01.3106073Z               "line": 520
2026-06-10T07:08:01.3106349Z             }
2026-06-10T07:08:01.3106628Z           ]
2026-06-10T07:08:01.3106906Z         }
2026-06-10T07:08:01.3107182Z       }
2026-06-10T07:08:01.3107458Z     },
2026-06-10T07:08:01.3107735Z     {
2026-06-10T07:08:01.3108044Z       "id": "REQ-SEAM-UPDATE",
2026-06-10T07:08:01.3108549Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-10T07:08:01.3108855Z       "requiredStages": [
2026-06-10T07:08:01.3109211Z         "impl",
2026-06-10T07:08:01.3109494Z         "unit"
2026-06-10T07:08:01.3109770Z       ],
2026-06-10T07:08:01.3110061Z       "stages": {
2026-06-10T07:08:01.3110333Z         "doc": {
2026-06-10T07:08:01.3110633Z           "complete": false,
2026-06-10T07:08:01.3110919Z           "evidence": []
2026-06-10T07:08:01.3111185Z         },
2026-06-10T07:08:01.3111471Z         "impl": {
2026-06-10T07:08:01.3111764Z           "complete": true,
2026-06-10T07:08:01.3112051Z           "evidence": [
2026-06-10T07:08:01.3112318Z             {
2026-06-10T07:08:01.3112732Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3113019Z               "line": 28
2026-06-10T07:08:01.3113399Z             },
2026-06-10T07:08:01.3113676Z             {
2026-06-10T07:08:01.3114077Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3114367Z               "line": 83
2026-06-10T07:08:01.3114645Z             }
2026-06-10T07:08:01.3114922Z           ]
2026-06-10T07:08:01.3115293Z         },
2026-06-10T07:08:01.3115622Z         "int": {
2026-06-10T07:08:01.3115942Z           "complete": false,
2026-06-10T07:08:01.3116514Z           "evidence": []
2026-06-10T07:08:01.3120530Z         },
2026-06-10T07:08:01.3120854Z         "unit": {
2026-06-10T07:08:01.3121164Z           "complete": true,
2026-06-10T07:08:01.3121455Z           "evidence": [
2026-06-10T07:08:01.3121731Z             {
2026-06-10T07:08:01.3122164Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3122458Z               "line": 286
2026-06-10T07:08:01.3122738Z             },
2026-06-10T07:08:01.3123010Z             {
2026-06-10T07:08:01.3123431Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3123741Z               "line": 297
2026-06-10T07:08:01.3124021Z             }
2026-06-10T07:08:01.3124307Z           ]
2026-06-10T07:08:01.3124580Z         }
2026-06-10T07:08:01.3124860Z       }
2026-06-10T07:08:01.3125131Z     },
2026-06-10T07:08:01.3125397Z     {
2026-06-10T07:08:01.3125688Z       "id": "REQ-SEC-1",
2026-06-10T07:08:01.3126961Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-10T07:08:01.3127286Z       "requiredStages": [
2026-06-10T07:08:01.3127565Z         "impl",
2026-06-10T07:08:01.3127843Z         "unit"
2026-06-10T07:08:01.3128115Z       ],
2026-06-10T07:08:01.3128397Z       "stages": {
2026-06-10T07:08:01.3128841Z         "doc": {
2026-06-10T07:08:01.3129246Z           "complete": false,
2026-06-10T07:08:01.3129547Z           "evidence": []
2026-06-10T07:08:01.3129833Z         },
2026-06-10T07:08:01.3130110Z         "impl": {
2026-06-10T07:08:01.3130412Z           "complete": true,
2026-06-10T07:08:01.3130698Z           "evidence": [
2026-06-10T07:08:01.3130975Z             {
2026-06-10T07:08:01.3131356Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-10T07:08:01.3131648Z               "line": 84
2026-06-10T07:08:01.3131925Z             },
2026-06-10T07:08:01.3132206Z             {
2026-06-10T07:08:01.3132586Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-10T07:08:01.3132880Z               "line": 114
2026-06-10T07:08:01.3133157Z             },
2026-06-10T07:08:01.3133490Z             {
2026-06-10T07:08:01.3133862Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-10T07:08:01.3134148Z               "line": 128
2026-06-10T07:08:01.3134424Z             },
2026-06-10T07:08:01.3134697Z             {
2026-06-10T07:08:01.3135059Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3135346Z               "line": 108
2026-06-10T07:08:01.3135620Z             },
2026-06-10T07:08:01.3135909Z             {
2026-06-10T07:08:01.3136267Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3136553Z               "line": 129
2026-06-10T07:08:01.3136829Z             },
2026-06-10T07:08:01.3137105Z             {
2026-06-10T07:08:01.3137468Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3137764Z               "line": 142
2026-06-10T07:08:01.3138044Z             },
2026-06-10T07:08:01.3138318Z             {
2026-06-10T07:08:01.3138680Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3139042Z               "line": 208
2026-06-10T07:08:01.3139324Z             },
2026-06-10T07:08:01.3139596Z             {
2026-06-10T07:08:01.3139944Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3140230Z               "line": 234
2026-06-10T07:08:01.3140492Z             },
2026-06-10T07:08:01.3140765Z             {
2026-06-10T07:08:01.3141093Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3141517Z               "line": 4047
2026-06-10T07:08:01.3141798Z             }
2026-06-10T07:08:01.3142070Z           ]
2026-06-10T07:08:01.3142342Z         },
2026-06-10T07:08:01.3142609Z         "int": {
2026-06-10T07:08:01.3142904Z           "complete": false,
2026-06-10T07:08:01.3143184Z           "evidence": []
2026-06-10T07:08:01.3143463Z         },
2026-06-10T07:08:01.3143849Z         "unit": {
2026-06-10T07:08:01.3144145Z           "complete": true,
2026-06-10T07:08:01.3144431Z           "evidence": [
2026-06-10T07:08:01.3144708Z             {
2026-06-10T07:08:01.3145084Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-10T07:08:01.3145376Z               "line": 140
2026-06-10T07:08:01.3145656Z             },
2026-06-10T07:08:01.3145934Z             {
2026-06-10T07:08:01.3146302Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-10T07:08:01.3146599Z               "line": 192
2026-06-10T07:08:01.3146870Z             },
2026-06-10T07:08:01.3147161Z             {
2026-06-10T07:08:01.3147528Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-10T07:08:01.3147819Z               "line": 233
2026-06-10T07:08:01.3148096Z             },
2026-06-10T07:08:01.3148368Z             {
2026-06-10T07:08:01.3148747Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-10T07:08:01.3149122Z               "line": 138
2026-06-10T07:08:01.3149417Z             },
2026-06-10T07:08:01.3149690Z             {
2026-06-10T07:08:01.3150052Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3150348Z               "line": 246
2026-06-10T07:08:01.3150615Z             },
2026-06-10T07:08:01.3150895Z             {
2026-06-10T07:08:01.3151240Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3151532Z               "line": 276
2026-06-10T07:08:01.3151814Z             },
2026-06-10T07:08:01.3152072Z             {
2026-06-10T07:08:01.3152439Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3152744Z               "line": 309
2026-06-10T07:08:01.3153021Z             },
2026-06-10T07:08:01.3153298Z             {
2026-06-10T07:08:01.3153659Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3153953Z               "line": 328
2026-06-10T07:08:01.3154225Z             },
2026-06-10T07:08:01.3154496Z             {
2026-06-10T07:08:01.3154854Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3155474Z               "line": 361
2026-06-10T07:08:01.3155751Z             },
2026-06-10T07:08:01.3156027Z             {
2026-06-10T07:08:01.3156390Z               "path": "crates/spt-store/src/access.rs",
2026-06-10T07:08:01.3156678Z               "line": 385
2026-06-10T07:08:01.3156957Z             },
2026-06-10T07:08:01.3157215Z             {
2026-06-10T07:08:01.3157548Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3157835Z               "line": 5632
2026-06-10T07:08:01.3158106Z             }
2026-06-10T07:08:01.3158374Z           ]
2026-06-10T07:08:01.3158656Z         }
2026-06-10T07:08:01.3158923Z       }
2026-06-10T07:08:01.3159373Z     },
2026-06-10T07:08:01.3159649Z     {
2026-06-10T07:08:01.3159950Z       "id": "REQ-SHELL-1",
2026-06-10T07:08:01.3162689Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-10T07:08:01.3163008Z       "requiredStages": [
2026-06-10T07:08:01.3163281Z         "impl",
2026-06-10T07:08:01.3163571Z         "unit",
2026-06-10T07:08:01.3163844Z         "int"
2026-06-10T07:08:01.3164121Z       ],
2026-06-10T07:08:01.3164405Z       "stages": {
2026-06-10T07:08:01.3164684Z         "doc": {
2026-06-10T07:08:01.3164994Z           "complete": false,
2026-06-10T07:08:01.3165284Z           "evidence": []
2026-06-10T07:08:01.3165700Z         },
2026-06-10T07:08:01.3165976Z         "impl": {
2026-06-10T07:08:01.3166277Z           "complete": true,
2026-06-10T07:08:01.3166572Z           "evidence": [
2026-06-10T07:08:01.3166844Z             {
2026-06-10T07:08:01.3167233Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-10T07:08:01.3167512Z               "line": 94
2026-06-10T07:08:01.3167789Z             },
2026-06-10T07:08:01.3168161Z             {
2026-06-10T07:08:01.3168543Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-10T07:08:01.3168834Z               "line": 119
2026-06-10T07:08:01.3169202Z             },
2026-06-10T07:08:01.3169488Z             {
2026-06-10T07:08:01.3169867Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-10T07:08:01.3170156Z               "line": 27
2026-06-10T07:08:01.3170427Z             },
2026-06-10T07:08:01.3170708Z             {
2026-06-10T07:08:01.3171091Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-10T07:08:01.3171376Z               "line": 52
2026-06-10T07:08:01.3171648Z             },
2026-06-10T07:08:01.3171925Z             {
2026-06-10T07:08:01.3172306Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-10T07:08:01.3172596Z               "line": 132
2026-06-10T07:08:01.3172863Z             },
2026-06-10T07:08:01.3173140Z             {
2026-06-10T07:08:01.3173512Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-10T07:08:01.3173802Z               "line": 164
2026-06-10T07:08:01.3174070Z             },
2026-06-10T07:08:01.3174343Z             {
2026-06-10T07:08:01.3174714Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3174998Z               "line": 22
2026-06-10T07:08:01.3175277Z             },
2026-06-10T07:08:01.3175549Z             {
2026-06-10T07:08:01.3175927Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3176212Z               "line": 65
2026-06-10T07:08:01.3176488Z             },
2026-06-10T07:08:01.3176765Z             {
2026-06-10T07:08:01.3177142Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3177432Z               "line": 76
2026-06-10T07:08:01.3177703Z             },
2026-06-10T07:08:01.3177978Z             {
2026-06-10T07:08:01.3178349Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3178631Z               "line": 150
2026-06-10T07:08:01.3178917Z             },
2026-06-10T07:08:01.3179265Z             {
2026-06-10T07:08:01.3179651Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3179932Z               "line": 209
2026-06-10T07:08:01.3180209Z             },
2026-06-10T07:08:01.3180475Z             {
2026-06-10T07:08:01.3180860Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3181155Z               "line": 246
2026-06-10T07:08:01.3181427Z             },
2026-06-10T07:08:01.3181708Z             {
2026-06-10T07:08:01.3182085Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3182381Z               "line": 267
2026-06-10T07:08:01.3182653Z             },
2026-06-10T07:08:01.3182930Z             {
2026-06-10T07:08:01.3183314Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3183600Z               "line": 280
2026-06-10T07:08:01.3183876Z             },
2026-06-10T07:08:01.3184148Z             {
2026-06-10T07:08:01.3184515Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.3184801Z               "line": 207
2026-06-10T07:08:01.3185082Z             },
2026-06-10T07:08:01.3185359Z             {
2026-06-10T07:08:01.3185709Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.3185999Z               "line": 223
2026-06-10T07:08:01.3186272Z             },
2026-06-10T07:08:01.3186544Z             {
2026-06-10T07:08:01.3186920Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.3187196Z               "line": 41
2026-06-10T07:08:01.3187479Z             },
2026-06-10T07:08:01.3187906Z             {
2026-06-10T07:08:01.3188278Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.3188557Z               "line": 204
2026-06-10T07:08:01.3188834Z             },
2026-06-10T07:08:01.3189196Z             {
2026-06-10T07:08:01.3189548Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-10T07:08:01.3189835Z               "line": 156
2026-06-10T07:08:01.3190365Z             },
2026-06-10T07:08:01.3190637Z             {
2026-06-10T07:08:01.3190973Z               "path": "crates/spt/src/api/mod.rs",
2026-06-10T07:08:01.3191262Z               "line": 295
2026-06-10T07:08:01.3191538Z             },
2026-06-10T07:08:01.3191819Z             {
2026-06-10T07:08:01.3192162Z               "path": "crates/spt/src/api/mod.rs",
2026-06-10T07:08:01.3192449Z               "line": 345
2026-06-10T07:08:01.3192712Z             },
2026-06-10T07:08:01.3192983Z             {
2026-06-10T07:08:01.3193364Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.3193655Z               "line": 261
2026-06-10T07:08:01.3193927Z             },
2026-06-10T07:08:01.3194194Z             {
2026-06-10T07:08:01.3194523Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3194828Z               "line": 4545
2026-06-10T07:08:01.3195090Z             },
2026-06-10T07:08:01.3195371Z             {
2026-06-10T07:08:01.3195695Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3195989Z               "line": 4695
2026-06-10T07:08:01.3196259Z             },
2026-06-10T07:08:01.3196531Z             {
2026-06-10T07:08:01.3196860Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3197146Z               "line": 4732
2026-06-10T07:08:01.3197423Z             }
2026-06-10T07:08:01.3197700Z           ]
2026-06-10T07:08:01.3197972Z         },
2026-06-10T07:08:01.3198252Z         "int": {
2026-06-10T07:08:01.3198553Z           "complete": true,
2026-06-10T07:08:01.3198847Z           "evidence": [
2026-06-10T07:08:01.3199207Z             {
2026-06-10T07:08:01.3199604Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.3199894Z               "line": 706
2026-06-10T07:08:01.3200170Z             },
2026-06-10T07:08:01.3200442Z             {
2026-06-10T07:08:01.3200839Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-10T07:08:01.3201124Z               "line": 8
2026-06-10T07:08:01.3201404Z             },
2026-06-10T07:08:01.3201684Z             {
2026-06-10T07:08:01.3202083Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-10T07:08:01.3202370Z               "line": 49
2026-06-10T07:08:01.3202647Z             },
2026-06-10T07:08:01.3202919Z             {
2026-06-10T07:08:01.3203296Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.3203581Z               "line": 708
2026-06-10T07:08:01.3203858Z             },
2026-06-10T07:08:01.3204131Z             {
2026-06-10T07:08:01.3204544Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.3204967Z               "line": 1118
2026-06-10T07:08:01.3205335Z             },
2026-06-10T07:08:01.3205607Z             {
2026-06-10T07:08:01.3206023Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-10T07:08:01.3206323Z               "line": 17
2026-06-10T07:08:01.3206597Z             },
2026-06-10T07:08:01.3206872Z             {
2026-06-10T07:08:01.3207234Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-10T07:08:01.3207520Z               "line": 14
2026-06-10T07:08:01.3207791Z             }
2026-06-10T07:08:01.3208064Z           ]
2026-06-10T07:08:01.3208335Z         },
2026-06-10T07:08:01.3208618Z         "unit": {
2026-06-10T07:08:01.3208919Z           "complete": true,
2026-06-10T07:08:01.3209285Z           "evidence": [
2026-06-10T07:08:01.3209560Z             {
2026-06-10T07:08:01.3209954Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-10T07:08:01.3210226Z               "line": 234
2026-06-10T07:08:01.3210498Z             },
2026-06-10T07:08:01.3211079Z             {
2026-06-10T07:08:01.3211462Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-10T07:08:01.3211752Z               "line": 267
2026-06-10T07:08:01.3212026Z             },
2026-06-10T07:08:01.3212305Z             {
2026-06-10T07:08:01.3212687Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-10T07:08:01.3212978Z               "line": 307
2026-06-10T07:08:01.3213351Z             },
2026-06-10T07:08:01.3213622Z             {
2026-06-10T07:08:01.3214000Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3214285Z               "line": 519
2026-06-10T07:08:01.3214561Z             },
2026-06-10T07:08:01.3214831Z             {
2026-06-10T07:08:01.3215208Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3215494Z               "line": 592
2026-06-10T07:08:01.3215767Z             },
2026-06-10T07:08:01.3216043Z             {
2026-06-10T07:08:01.3216415Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3216719Z               "line": 736
2026-06-10T07:08:01.3216996Z             },
2026-06-10T07:08:01.3217272Z             {
2026-06-10T07:08:01.3217634Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.3217914Z               "line": 585
2026-06-10T07:08:01.3218191Z             },
2026-06-10T07:08:01.3218463Z             {
2026-06-10T07:08:01.3218839Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-10T07:08:01.3219225Z               "line": 352
2026-06-10T07:08:01.3219507Z             },
2026-06-10T07:08:01.3219779Z             {
2026-06-10T07:08:01.3220101Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3220385Z               "line": 5980
2026-06-10T07:08:01.3220656Z             },
2026-06-10T07:08:01.3220928Z             {
2026-06-10T07:08:01.3221276Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3221586Z               "line": 6302
2026-06-10T07:08:01.3221867Z             },
2026-06-10T07:08:01.3222163Z             {
2026-06-10T07:08:01.3222496Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3222785Z               "line": 6668
2026-06-10T07:08:01.3223072Z             }
2026-06-10T07:08:01.3223353Z           ]
2026-06-10T07:08:01.3223625Z         }
2026-06-10T07:08:01.3223916Z       }
2026-06-10T07:08:01.3224186Z     },
2026-06-10T07:08:01.3224458Z     {
2026-06-10T07:08:01.3224763Z       "id": "REQ-SHELL-2",
2026-06-10T07:08:01.3229108Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-10T07:08:01.3229437Z       "requiredStages": [
2026-06-10T07:08:01.3229734Z         "impl",
2026-06-10T07:08:01.3230020Z         "unit",
2026-06-10T07:08:01.3230301Z         "int"
2026-06-10T07:08:01.3230570Z       ],
2026-06-10T07:08:01.3230864Z       "stages": {
2026-06-10T07:08:01.3231135Z         "doc": {
2026-06-10T07:08:01.3231441Z           "complete": false,
2026-06-10T07:08:01.3231718Z           "evidence": []
2026-06-10T07:08:01.3232004Z         },
2026-06-10T07:08:01.3232281Z         "impl": {
2026-06-10T07:08:01.3232582Z           "complete": true,
2026-06-10T07:08:01.3232872Z           "evidence": [
2026-06-10T07:08:01.3233146Z             {
2026-06-10T07:08:01.3233541Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.3233866Z               "line": 193
2026-06-10T07:08:01.3234151Z             },
2026-06-10T07:08:01.3234427Z             {
2026-06-10T07:08:01.3234810Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.3235100Z               "line": 403
2026-06-10T07:08:01.3235482Z             },
2026-06-10T07:08:01.3235764Z             {
2026-06-10T07:08:01.3236129Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-10T07:08:01.3236425Z               "line": 250
2026-06-10T07:08:01.3236696Z             },
2026-06-10T07:08:01.3236977Z             {
2026-06-10T07:08:01.3237355Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.3237736Z               "line": 310
2026-06-10T07:08:01.3238018Z             },
2026-06-10T07:08:01.3238282Z             {
2026-06-10T07:08:01.3238666Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-10T07:08:01.3239035Z               "line": 30
2026-06-10T07:08:01.3239306Z             },
2026-06-10T07:08:01.3239583Z             {
2026-06-10T07:08:01.3239959Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-10T07:08:01.3240250Z               "line": 150
2026-06-10T07:08:01.3240522Z             },
2026-06-10T07:08:01.3240798Z             {
2026-06-10T07:08:01.3241178Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-10T07:08:01.3241471Z               "line": 186
2026-06-10T07:08:01.3241748Z             },
2026-06-10T07:08:01.3242020Z             {
2026-06-10T07:08:01.3242401Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-10T07:08:01.3242687Z               "line": 345
2026-06-10T07:08:01.3242974Z             },
2026-06-10T07:08:01.3243249Z             {
2026-06-10T07:08:01.3243645Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.3243933Z               "line": 348
2026-06-10T07:08:01.3244206Z             },
2026-06-10T07:08:01.3244478Z             {
2026-06-10T07:08:01.3244859Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-10T07:08:01.3245188Z               "line": 115
2026-06-10T07:08:01.3245469Z             },
2026-06-10T07:08:01.3245737Z             {
2026-06-10T07:08:01.3246141Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3246436Z               "line": 120
2026-06-10T07:08:01.3246728Z             },
2026-06-10T07:08:01.3247004Z             {
2026-06-10T07:08:01.3247380Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3247671Z               "line": 360
2026-06-10T07:08:01.3247948Z             },
2026-06-10T07:08:01.3248220Z             {
2026-06-10T07:08:01.3248597Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3248900Z               "line": 464
2026-06-10T07:08:01.3249261Z             },
2026-06-10T07:08:01.3249537Z             {
2026-06-10T07:08:01.3249919Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3250200Z               "line": 24
2026-06-10T07:08:01.3250477Z             },
2026-06-10T07:08:01.3250748Z             {
2026-06-10T07:08:01.3251130Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3251402Z               "line": 76
2026-06-10T07:08:01.3251681Z             },
2026-06-10T07:08:01.3251960Z             {
2026-06-10T07:08:01.3252337Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3252627Z               "line": 154
2026-06-10T07:08:01.3252909Z             },
2026-06-10T07:08:01.3253186Z             {
2026-06-10T07:08:01.3253567Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3253853Z               "line": 177
2026-06-10T07:08:01.3254134Z             },
2026-06-10T07:08:01.3254419Z             {
2026-06-10T07:08:01.3254799Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3255086Z               "line": 273
2026-06-10T07:08:01.3255361Z             },
2026-06-10T07:08:01.3255639Z             {
2026-06-10T07:08:01.3256019Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3256320Z               "line": 450
2026-06-10T07:08:01.3256579Z             },
2026-06-10T07:08:01.3256864Z             {
2026-06-10T07:08:01.3257264Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3257668Z               "line": 532
2026-06-10T07:08:01.3257955Z             },
2026-06-10T07:08:01.3258231Z             {
2026-06-10T07:08:01.3258622Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-10T07:08:01.3258903Z               "line": 27
2026-06-10T07:08:01.3259251Z             },
2026-06-10T07:08:01.3259521Z             {
2026-06-10T07:08:01.3259906Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-10T07:08:01.3260297Z               "line": 43
2026-06-10T07:08:01.3260573Z             },
2026-06-10T07:08:01.3260845Z             {
2026-06-10T07:08:01.3261208Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.3261498Z               "line": 323
2026-06-10T07:08:01.3261771Z             },
2026-06-10T07:08:01.3262048Z             {
2026-06-10T07:08:01.3262384Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3262678Z               "line": 1259
2026-06-10T07:08:01.3262960Z             },
2026-06-10T07:08:01.3263231Z             {
2026-06-10T07:08:01.3263569Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3263856Z               "line": 4559
2026-06-10T07:08:01.3264141Z             },
2026-06-10T07:08:01.3264418Z             {
2026-06-10T07:08:01.3264751Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3265044Z               "line": 4620
2026-06-10T07:08:01.3265322Z             },
2026-06-10T07:08:01.3265607Z             {
2026-06-10T07:08:01.3265936Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3266232Z               "line": 4648
2026-06-10T07:08:01.3266509Z             },
2026-06-10T07:08:01.3266781Z             {
2026-06-10T07:08:01.3267115Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3267396Z               "line": 4702
2026-06-10T07:08:01.3267670Z             },
2026-06-10T07:08:01.3267942Z             {
2026-06-10T07:08:01.3268261Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3268543Z               "line": 4818
2026-06-10T07:08:01.3268820Z             },
2026-06-10T07:08:01.3269225Z             {
2026-06-10T07:08:01.3269558Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3269868Z               "line": 4871
2026-06-10T07:08:01.3270128Z             },
2026-06-10T07:08:01.3270400Z             {
2026-06-10T07:08:01.3270753Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.3271058Z               "line": 298
2026-06-10T07:08:01.3271339Z             },
2026-06-10T07:08:01.3271602Z             {
2026-06-10T07:08:01.3271941Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.3272232Z               "line": 339
2026-06-10T07:08:01.3272503Z             }
2026-06-10T07:08:01.3272773Z           ]
2026-06-10T07:08:01.3273038Z         },
2026-06-10T07:08:01.3273320Z         "int": {
2026-06-10T07:08:01.3273610Z           "complete": true,
2026-06-10T07:08:01.3273906Z           "evidence": [
2026-06-10T07:08:01.3274183Z             {
2026-06-10T07:08:01.3274583Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.3274879Z               "line": 699
2026-06-10T07:08:01.3275175Z             },
2026-06-10T07:08:01.3275454Z             {
2026-06-10T07:08:01.3275825Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.3276120Z               "line": 708
2026-06-10T07:08:01.3276397Z             },
2026-06-10T07:08:01.3276667Z             {
2026-06-10T07:08:01.3277055Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.3277346Z               "line": 1118
2026-06-10T07:08:01.3277622Z             },
2026-06-10T07:08:01.3277888Z             {
2026-06-10T07:08:01.3278297Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-10T07:08:01.3278588Z               "line": 18
2026-06-10T07:08:01.3278864Z             }
2026-06-10T07:08:01.3279227Z           ]
2026-06-10T07:08:01.3279498Z         },
2026-06-10T07:08:01.3279785Z         "unit": {
2026-06-10T07:08:01.3280080Z           "complete": true,
2026-06-10T07:08:01.3280494Z           "evidence": [
2026-06-10T07:08:01.3280783Z             {
2026-06-10T07:08:01.3281155Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-10T07:08:01.3281454Z               "line": 429
2026-06-10T07:08:01.3281727Z             },
2026-06-10T07:08:01.3282003Z             {
2026-06-10T07:08:01.3282376Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-10T07:08:01.3282772Z               "line": 794
2026-06-10T07:08:01.3283053Z             },
2026-06-10T07:08:01.3283333Z             {
2026-06-10T07:08:01.3283717Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3284007Z               "line": 625
2026-06-10T07:08:01.3284284Z             },
2026-06-10T07:08:01.3284556Z             {
2026-06-10T07:08:01.3284928Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3285219Z               "line": 674
2026-06-10T07:08:01.3285490Z             },
2026-06-10T07:08:01.3285759Z             {
2026-06-10T07:08:01.3286150Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-10T07:08:01.3286447Z               "line": 698
2026-06-10T07:08:01.3286714Z             },
2026-06-10T07:08:01.3286990Z             {
2026-06-10T07:08:01.3287367Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3287648Z               "line": 596
2026-06-10T07:08:01.3287920Z             },
2026-06-10T07:08:01.3288191Z             {
2026-06-10T07:08:01.3288564Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3288843Z               "line": 617
2026-06-10T07:08:01.3289240Z             },
2026-06-10T07:08:01.3289521Z             {
2026-06-10T07:08:01.3289898Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3290189Z               "line": 653
2026-06-10T07:08:01.3290451Z             },
2026-06-10T07:08:01.3290727Z             {
2026-06-10T07:08:01.3291102Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3291400Z               "line": 707
2026-06-10T07:08:01.3291672Z             },
2026-06-10T07:08:01.3291939Z             {
2026-06-10T07:08:01.3292325Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3292601Z               "line": 725
2026-06-10T07:08:01.3292869Z             },
2026-06-10T07:08:01.3293140Z             {
2026-06-10T07:08:01.3293517Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3293822Z               "line": 759
2026-06-10T07:08:01.3294087Z             },
2026-06-10T07:08:01.3294363Z             {
2026-06-10T07:08:01.3294740Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-10T07:08:01.3295035Z               "line": 834
2026-06-10T07:08:01.3295313Z             },
2026-06-10T07:08:01.3295584Z             {
2026-06-10T07:08:01.3295970Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-10T07:08:01.3296248Z               "line": 80
2026-06-10T07:08:01.3296526Z             },
2026-06-10T07:08:01.3296795Z             {
2026-06-10T07:08:01.3297129Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3297425Z               "line": 5432
2026-06-10T07:08:01.3297697Z             },
2026-06-10T07:08:01.3298050Z             {
2026-06-10T07:08:01.3298383Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3298689Z               "line": 6057
2026-06-10T07:08:01.3299042Z             },
2026-06-10T07:08:01.3299327Z             {
2026-06-10T07:08:01.3299665Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3299965Z               "line": 6127
2026-06-10T07:08:01.3300243Z             },
2026-06-10T07:08:01.3300514Z             {
2026-06-10T07:08:01.3300848Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3301144Z               "line": 6165
2026-06-10T07:08:01.3301421Z             }
2026-06-10T07:08:01.3301710Z           ]
2026-06-10T07:08:01.3301980Z         }
2026-06-10T07:08:01.3302265Z       }
2026-06-10T07:08:01.3302537Z     },
2026-06-10T07:08:01.3302948Z     {
2026-06-10T07:08:01.3303243Z       "id": "REQ-START-1",
2026-06-10T07:08:01.3303844Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-10T07:08:01.3304154Z       "requiredStages": [
2026-06-10T07:08:01.3304430Z         "impl",
2026-06-10T07:08:01.3304708Z         "unit"
2026-06-10T07:08:01.3304981Z       ],
2026-06-10T07:08:01.3305267Z       "stages": {
2026-06-10T07:08:01.3305644Z         "doc": {
2026-06-10T07:08:01.3306024Z           "complete": false,
2026-06-10T07:08:01.3306315Z           "evidence": []
2026-06-10T07:08:01.3306601Z         },
2026-06-10T07:08:01.3306897Z         "impl": {
2026-06-10T07:08:01.3307196Z           "complete": true,
2026-06-10T07:08:01.3307500Z           "evidence": [
2026-06-10T07:08:01.3307786Z             {
2026-06-10T07:08:01.3308158Z               "path": "crates/spt-store/src/seed.rs",
2026-06-10T07:08:01.3308463Z               "line": 16
2026-06-10T07:08:01.3308740Z             }
2026-06-10T07:08:01.3309093Z           ]
2026-06-10T07:08:01.3309370Z         },
2026-06-10T07:08:01.3309651Z         "int": {
2026-06-10T07:08:01.3309953Z           "complete": false,
2026-06-10T07:08:01.3310249Z           "evidence": []
2026-06-10T07:08:01.3310516Z         },
2026-06-10T07:08:01.3310794Z         "unit": {
2026-06-10T07:08:01.3311093Z           "complete": true,
2026-06-10T07:08:01.3311380Z           "evidence": [
2026-06-10T07:08:01.3311671Z             {
2026-06-10T07:08:01.3312028Z               "path": "crates/spt-store/src/seed.rs",
2026-06-10T07:08:01.3312313Z               "line": 43
2026-06-10T07:08:01.3312592Z             },
2026-06-10T07:08:01.3312859Z             {
2026-06-10T07:08:01.3313203Z               "path": "crates/spt-store/src/seed.rs",
2026-06-10T07:08:01.3313532Z               "line": 59
2026-06-10T07:08:01.3313808Z             }
2026-06-10T07:08:01.3314080Z           ]
2026-06-10T07:08:01.3314356Z         }
2026-06-10T07:08:01.3314637Z       }
2026-06-10T07:08:01.3314909Z     },
2026-06-10T07:08:01.3315190Z     {
2026-06-10T07:08:01.3315488Z       "id": "REQ-START-2",
2026-06-10T07:08:01.3315926Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-10T07:08:01.3316232Z       "requiredStages": [
2026-06-10T07:08:01.3316513Z         "impl",
2026-06-10T07:08:01.3316795Z         "unit",
2026-06-10T07:08:01.3317067Z         "int"
2026-06-10T07:08:01.3317353Z       ],
2026-06-10T07:08:01.3317637Z       "stages": {
2026-06-10T07:08:01.3317920Z         "doc": {
2026-06-10T07:08:01.3318221Z           "complete": false,
2026-06-10T07:08:01.3318517Z           "evidence": []
2026-06-10T07:08:01.3318799Z         },
2026-06-10T07:08:01.3319151Z         "impl": {
2026-06-10T07:08:01.3319457Z           "complete": true,
2026-06-10T07:08:01.3319747Z           "evidence": [
2026-06-10T07:08:01.3320028Z             {
2026-06-10T07:08:01.3320385Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3320677Z               "line": 16
2026-06-10T07:08:01.3320958Z             },
2026-06-10T07:08:01.3321239Z             {
2026-06-10T07:08:01.3321606Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3321897Z               "line": 100
2026-06-10T07:08:01.3322174Z             },
2026-06-10T07:08:01.3322450Z             {
2026-06-10T07:08:01.3322811Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3323114Z               "line": 208
2026-06-10T07:08:01.3323395Z             }
2026-06-10T07:08:01.3323676Z           ]
2026-06-10T07:08:01.3323948Z         },
2026-06-10T07:08:01.3324230Z         "int": {
2026-06-10T07:08:01.3324525Z           "complete": true,
2026-06-10T07:08:01.3324817Z           "evidence": [
2026-06-10T07:08:01.3325099Z             {
2026-06-10T07:08:01.3325470Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-10T07:08:01.3325764Z               "line": 182
2026-06-10T07:08:01.3326039Z             }
2026-06-10T07:08:01.3326315Z           ]
2026-06-10T07:08:01.3326601Z         },
2026-06-10T07:08:01.3331312Z         "unit": {
2026-06-10T07:08:01.3331823Z           "complete": true,
2026-06-10T07:08:01.3332105Z           "evidence": [
2026-06-10T07:08:01.3332381Z             {
2026-06-10T07:08:01.3332758Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3333054Z               "line": 421
2026-06-10T07:08:01.3333323Z             },
2026-06-10T07:08:01.3333597Z             {
2026-06-10T07:08:01.3334071Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3334357Z               "line": 454
2026-06-10T07:08:01.3334629Z             }
2026-06-10T07:08:01.3334905Z           ]
2026-06-10T07:08:01.3335514Z         }
2026-06-10T07:08:01.3335787Z       }
2026-06-10T07:08:01.3336067Z     },
2026-06-10T07:08:01.3336342Z     {
2026-06-10T07:08:01.3336647Z       "id": "REQ-START-3",
2026-06-10T07:08:01.3337186Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-10T07:08:01.3337495Z       "requiredStages": [
2026-06-10T07:08:01.3337786Z         "impl",
2026-06-10T07:08:01.3338072Z         "unit",
2026-06-10T07:08:01.3338348Z         "int"
2026-06-10T07:08:01.3338624Z       ],
2026-06-10T07:08:01.3338904Z       "stages": {
2026-06-10T07:08:01.3339279Z         "doc": {
2026-06-10T07:08:01.3339576Z           "complete": false,
2026-06-10T07:08:01.3339876Z           "evidence": []
2026-06-10T07:08:01.3340143Z         },
2026-06-10T07:08:01.3340430Z         "impl": {
2026-06-10T07:08:01.3340740Z           "complete": true,
2026-06-10T07:08:01.3341026Z           "evidence": [
2026-06-10T07:08:01.3341302Z             {
2026-06-10T07:08:01.3341692Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-10T07:08:01.3341977Z               "line": 23
2026-06-10T07:08:01.3342253Z             },
2026-06-10T07:08:01.3342530Z             {
2026-06-10T07:08:01.3342907Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-10T07:08:01.3343202Z               "line": 205
2026-06-10T07:08:01.3343479Z             },
2026-06-10T07:08:01.3343751Z             {
2026-06-10T07:08:01.3344129Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-10T07:08:01.3344421Z               "line": 221
2026-06-10T07:08:01.3344697Z             },
2026-06-10T07:08:01.3344974Z             {
2026-06-10T07:08:01.3345326Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3345603Z               "line": 17
2026-06-10T07:08:01.3345866Z             },
2026-06-10T07:08:01.3346186Z             {
2026-06-10T07:08:01.3346543Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3346836Z               "line": 43
2026-06-10T07:08:01.3347111Z             },
2026-06-10T07:08:01.3347387Z             {
2026-06-10T07:08:01.3347755Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3348045Z               "line": 101
2026-06-10T07:08:01.3348327Z             }
2026-06-10T07:08:01.3348594Z           ]
2026-06-10T07:08:01.3348874Z         },
2026-06-10T07:08:01.3349251Z         "int": {
2026-06-10T07:08:01.3349549Z           "complete": true,
2026-06-10T07:08:01.3349897Z           "evidence": [
2026-06-10T07:08:01.3350169Z             {
2026-06-10T07:08:01.3350559Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-10T07:08:01.3350850Z               "line": 436
2026-06-10T07:08:01.3351137Z             }
2026-06-10T07:08:01.3351417Z           ]
2026-06-10T07:08:01.3351690Z         },
2026-06-10T07:08:01.3351982Z         "unit": {
2026-06-10T07:08:01.3352281Z           "complete": true,
2026-06-10T07:08:01.3352566Z           "evidence": [
2026-06-10T07:08:01.3352838Z             {
2026-06-10T07:08:01.3353221Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-10T07:08:01.3353521Z               "line": 331
2026-06-10T07:08:01.3353792Z             },
2026-06-10T07:08:01.3354078Z             {
2026-06-10T07:08:01.3354453Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-10T07:08:01.3354751Z               "line": 352
2026-06-10T07:08:01.3355027Z             },
2026-06-10T07:08:01.3355429Z             {
2026-06-10T07:08:01.3355811Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-10T07:08:01.3356097Z               "line": 362
2026-06-10T07:08:01.3356393Z             },
2026-06-10T07:08:01.3356669Z             {
2026-06-10T07:08:01.3357037Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3357335Z               "line": 422
2026-06-10T07:08:01.3357704Z             },
2026-06-10T07:08:01.3357981Z             {
2026-06-10T07:08:01.3358339Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3358630Z               "line": 455
2026-06-10T07:08:01.3358901Z             },
2026-06-10T07:08:01.3359393Z             {
2026-06-10T07:08:01.3359754Z               "path": "crates/spt/src/api/startup.rs",
2026-06-10T07:08:01.3360039Z               "line": 463
2026-06-10T07:08:01.3360319Z             }
2026-06-10T07:08:01.3360582Z           ]
2026-06-10T07:08:01.3360863Z         }
2026-06-10T07:08:01.3361134Z       }
2026-06-10T07:08:01.3361425Z     },
2026-06-10T07:08:01.3361702Z     {
2026-06-10T07:08:01.3361997Z       "id": "REQ-START-4",
2026-06-10T07:08:01.3362432Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-10T07:08:01.3362735Z       "requiredStages": [
2026-06-10T07:08:01.3363016Z         "impl",
2026-06-10T07:08:01.3363293Z         "unit"
2026-06-10T07:08:01.3363626Z       ],
2026-06-10T07:08:01.3363904Z       "stages": {
2026-06-10T07:08:01.3364194Z         "doc": {
2026-06-10T07:08:01.3364495Z           "complete": false,
2026-06-10T07:08:01.3364786Z           "evidence": []
2026-06-10T07:08:01.3365066Z         },
2026-06-10T07:08:01.3365345Z         "impl": {
2026-06-10T07:08:01.3365646Z           "complete": true,
2026-06-10T07:08:01.3365931Z           "evidence": [
2026-06-10T07:08:01.3366208Z             {
2026-06-10T07:08:01.3366580Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.3366871Z               "line": 391
2026-06-10T07:08:01.3367148Z             }
2026-06-10T07:08:01.3367544Z           ]
2026-06-10T07:08:01.3367904Z         },
2026-06-10T07:08:01.3368198Z         "int": {
2026-06-10T07:08:01.3368493Z           "complete": false,
2026-06-10T07:08:01.3368798Z           "evidence": []
2026-06-10T07:08:01.3369156Z         },
2026-06-10T07:08:01.3369461Z         "unit": {
2026-06-10T07:08:01.3369766Z           "complete": true,
2026-06-10T07:08:01.3370057Z           "evidence": [
2026-06-10T07:08:01.3370338Z             {
2026-06-10T07:08:01.3370721Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-10T07:08:01.3371017Z               "line": 660
2026-06-10T07:08:01.3371289Z             }
2026-06-10T07:08:01.3371561Z           ]
2026-06-10T07:08:01.3371838Z         }
2026-06-10T07:08:01.3372120Z       }
2026-06-10T07:08:01.3372392Z     },
2026-06-10T07:08:01.3372653Z     {
2026-06-10T07:08:01.3372953Z       "id": "REQ-STORE-1",
2026-06-10T07:08:01.3375597Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-10T07:08:01.3375914Z       "requiredStages": [
2026-06-10T07:08:01.3376196Z         "impl",
2026-06-10T07:08:01.3376472Z         "unit"
2026-06-10T07:08:01.3376749Z       ],
2026-06-10T07:08:01.3377030Z       "stages": {
2026-06-10T07:08:01.3377307Z         "doc": {
2026-06-10T07:08:01.3377607Z           "complete": false,
2026-06-10T07:08:01.3377904Z           "evidence": []
2026-06-10T07:08:01.3378176Z         },
2026-06-10T07:08:01.3378445Z         "impl": {
2026-06-10T07:08:01.3378743Z           "complete": true,
2026-06-10T07:08:01.3379096Z           "evidence": [
2026-06-10T07:08:01.3379377Z             {
2026-06-10T07:08:01.3379775Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3380070Z               "line": 23
2026-06-10T07:08:01.3380480Z             },
2026-06-10T07:08:01.3380747Z             {
2026-06-10T07:08:01.3381145Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3381426Z               "line": 46
2026-06-10T07:08:01.3381707Z             },
2026-06-10T07:08:01.3381973Z             {
2026-06-10T07:08:01.3382370Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3382665Z               "line": 97
2026-06-10T07:08:01.3383060Z             },
2026-06-10T07:08:01.3383338Z             {
2026-06-10T07:08:01.3383728Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3384014Z               "line": 125
2026-06-10T07:08:01.3384291Z             },
2026-06-10T07:08:01.3384562Z             {
2026-06-10T07:08:01.3384958Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3385249Z               "line": 181
2026-06-10T07:08:01.3385525Z             },
2026-06-10T07:08:01.3385796Z             {
2026-06-10T07:08:01.3386181Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3386479Z               "line": 205
2026-06-10T07:08:01.3386756Z             },
2026-06-10T07:08:01.3387042Z             {
2026-06-10T07:08:01.3387424Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3387714Z               "line": 441
2026-06-10T07:08:01.3387991Z             },
2026-06-10T07:08:01.3388315Z             {
2026-06-10T07:08:01.3388732Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.3389119Z               "line": 25
2026-06-10T07:08:01.3389404Z             },
2026-06-10T07:08:01.3389681Z             {
2026-06-10T07:08:01.3390067Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.3390363Z               "line": 104
2026-06-10T07:08:01.3390635Z             },
2026-06-10T07:08:01.3390911Z             {
2026-06-10T07:08:01.3391317Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.3391606Z               "line": 132
2026-06-10T07:08:01.3391889Z             },
2026-06-10T07:08:01.3392165Z             {
2026-06-10T07:08:01.3392581Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.3392878Z               "line": 148
2026-06-10T07:08:01.3393148Z             },
2026-06-10T07:08:01.3393424Z             {
2026-06-10T07:08:01.3393817Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.3394117Z               "line": 166
2026-06-10T07:08:01.3394396Z             },
2026-06-10T07:08:01.3394677Z             {
2026-06-10T07:08:01.3395069Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.3395359Z               "line": 175
2026-06-10T07:08:01.3395636Z             },
2026-06-10T07:08:01.3395908Z             {
2026-06-10T07:08:01.3396285Z               "path": "crates/spt-store/src/project.rs",
2026-06-10T07:08:01.3396570Z               "line": 16
2026-06-10T07:08:01.3396854Z             },
2026-06-10T07:08:01.3397136Z             {
2026-06-10T07:08:01.3397512Z               "path": "crates/spt-store/src/project.rs",
2026-06-10T07:08:01.3397803Z               "line": 63
2026-06-10T07:08:01.3398079Z             }
2026-06-10T07:08:01.3398357Z           ]
2026-06-10T07:08:01.3398628Z         },
2026-06-10T07:08:01.3398909Z         "int": {
2026-06-10T07:08:01.3399311Z           "complete": false,
2026-06-10T07:08:01.3399604Z           "evidence": []
2026-06-10T07:08:01.3399888Z         },
2026-06-10T07:08:01.3400168Z         "unit": {
2026-06-10T07:08:01.3400469Z           "complete": true,
2026-06-10T07:08:01.3400755Z           "evidence": [
2026-06-10T07:08:01.3401037Z             {
2026-06-10T07:08:01.3401437Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3401733Z               "line": 558
2026-06-10T07:08:01.3402004Z             },
2026-06-10T07:08:01.3402269Z             {
2026-06-10T07:08:01.3402664Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3402951Z               "line": 568
2026-06-10T07:08:01.3403341Z             },
2026-06-10T07:08:01.3403618Z             {
2026-06-10T07:08:01.3404013Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3404300Z               "line": 590
2026-06-10T07:08:01.3404711Z             },
2026-06-10T07:08:01.3405043Z             {
2026-06-10T07:08:01.3405435Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3405963Z               "line": 606
2026-06-10T07:08:01.3406249Z             },
2026-06-10T07:08:01.3406544Z             {
2026-06-10T07:08:01.3406936Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-10T07:08:01.3407215Z               "line": 629
2026-06-10T07:08:01.3407495Z             },
2026-06-10T07:08:01.3407771Z             {
2026-06-10T07:08:01.3408162Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.3408453Z               "line": 440
2026-06-10T07:08:01.3408725Z             },
2026-06-10T07:08:01.3409068Z             {
2026-06-10T07:08:01.3409464Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-10T07:08:01.3409745Z               "line": 475
2026-06-10T07:08:01.3410026Z             },
2026-06-10T07:08:01.3410296Z             {
2026-06-10T07:08:01.3410667Z               "path": "crates/spt-store/src/project.rs",
2026-06-10T07:08:01.3410944Z               "line": 120
2026-06-10T07:08:01.3411230Z             },
2026-06-10T07:08:01.3411502Z             {
2026-06-10T07:08:01.3411888Z               "path": "crates/spt-store/src/project.rs",
2026-06-10T07:08:01.3412179Z               "line": 128
2026-06-10T07:08:01.3412452Z             }
2026-06-10T07:08:01.3412731Z           ]
2026-06-10T07:08:01.3413000Z         }
2026-06-10T07:08:01.3413267Z       }
2026-06-10T07:08:01.3413525Z     },
2026-06-10T07:08:01.3413802Z     {
2026-06-10T07:08:01.3414111Z       "id": "REQ-SUBNET-1",
2026-06-10T07:08:01.3415093Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-10T07:08:01.3415403Z       "requiredStages": [
2026-06-10T07:08:01.3415680Z         "impl",
2026-06-10T07:08:01.3415966Z         "unit"
2026-06-10T07:08:01.3416233Z       ],
2026-06-10T07:08:01.3416523Z       "stages": {
2026-06-10T07:08:01.3416943Z         "doc": {
2026-06-10T07:08:01.3417239Z           "complete": false,
2026-06-10T07:08:01.3417530Z           "evidence": []
2026-06-10T07:08:01.3417857Z         },
2026-06-10T07:08:01.3418141Z         "impl": {
2026-06-10T07:08:01.3418450Z           "complete": true,
2026-06-10T07:08:01.3418741Z           "evidence": [
2026-06-10T07:08:01.3419095Z             {
2026-06-10T07:08:01.3419505Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3419796Z               "line": 265
2026-06-10T07:08:01.3420069Z             },
2026-06-10T07:08:01.3420344Z             {
2026-06-10T07:08:01.3420738Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3421023Z               "line": 571
2026-06-10T07:08:01.3421298Z             },
2026-06-10T07:08:01.3421570Z             {
2026-06-10T07:08:01.3421904Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3422195Z               "line": 2455
2026-06-10T07:08:01.3422471Z             },
2026-06-10T07:08:01.3422743Z             {
2026-06-10T07:08:01.3423077Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3423376Z               "line": 2620
2026-06-10T07:08:01.3423656Z             },
2026-06-10T07:08:01.3423928Z             {
2026-06-10T07:08:01.3424258Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3424553Z               "line": 2639
2026-06-10T07:08:01.3424838Z             },
2026-06-10T07:08:01.3425110Z             {
2026-06-10T07:08:01.3425434Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3425720Z               "line": 2700
2026-06-10T07:08:01.3426001Z             },
2026-06-10T07:08:01.3426273Z             {
2026-06-10T07:08:01.3426602Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3427049Z               "line": 2742
2026-06-10T07:08:01.3427350Z             },
2026-06-10T07:08:01.3427622Z             {
2026-06-10T07:08:01.3427960Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3428260Z               "line": 2915
2026-06-10T07:08:01.3428535Z             },
2026-06-10T07:08:01.3428821Z             {
2026-06-10T07:08:01.3429350Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3429640Z               "line": 2985
2026-06-10T07:08:01.3429921Z             },
2026-06-10T07:08:01.3430198Z             {
2026-06-10T07:08:01.3430532Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3430823Z               "line": 3209
2026-06-10T07:08:01.3431099Z             },
2026-06-10T07:08:01.3431383Z             {
2026-06-10T07:08:01.3431726Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.3432016Z               "line": 418
2026-06-10T07:08:01.3432299Z             }
2026-06-10T07:08:01.3432594Z           ]
2026-06-10T07:08:01.3432871Z         },
2026-06-10T07:08:01.3433166Z         "int": {
2026-06-10T07:08:01.3433491Z           "complete": false,
2026-06-10T07:08:01.3433779Z           "evidence": []
2026-06-10T07:08:01.3434058Z         },
2026-06-10T07:08:01.3434330Z         "unit": {
2026-06-10T07:08:01.3434635Z           "complete": true,
2026-06-10T07:08:01.3434922Z           "evidence": [
2026-06-10T07:08:01.3435217Z             {
2026-06-10T07:08:01.3435627Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3435923Z               "line": 1446
2026-06-10T07:08:01.3436203Z             },
2026-06-10T07:08:01.3436481Z             {
2026-06-10T07:08:01.3436819Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3437105Z               "line": 6914
2026-06-10T07:08:01.3437382Z             },
2026-06-10T07:08:01.3437658Z             {
2026-06-10T07:08:01.3437982Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3438273Z               "line": 7084
2026-06-10T07:08:01.3438544Z             },
2026-06-10T07:08:01.3438820Z             {
2026-06-10T07:08:01.3439218Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3439518Z               "line": 7091
2026-06-10T07:08:01.3439800Z             },
2026-06-10T07:08:01.3440062Z             {
2026-06-10T07:08:01.3440391Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3440682Z               "line": 7144
2026-06-10T07:08:01.3440959Z             },
2026-06-10T07:08:01.3441231Z             {
2026-06-10T07:08:01.3441570Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3441863Z               "line": 7161
2026-06-10T07:08:01.3442143Z             },
2026-06-10T07:08:01.3442419Z             {
2026-06-10T07:08:01.3442743Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3443038Z               "line": 7175
2026-06-10T07:08:01.3443315Z             },
2026-06-10T07:08:01.3443601Z             {
2026-06-10T07:08:01.3443945Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3444235Z               "line": 7273
2026-06-10T07:08:01.3444519Z             },
2026-06-10T07:08:01.3444795Z             {
2026-06-10T07:08:01.3445148Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3445439Z               "line": 7423
2026-06-10T07:08:01.3445721Z             }
2026-06-10T07:08:01.3445997Z           ]
2026-06-10T07:08:01.3446288Z         }
2026-06-10T07:08:01.3446574Z       }
2026-06-10T07:08:01.3446850Z     },
2026-06-10T07:08:01.3447126Z     {
2026-06-10T07:08:01.3447421Z       "id": "REQ-SUBNET-2",
2026-06-10T07:08:01.3448146Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-10T07:08:01.3448460Z       "requiredStages": [
2026-06-10T07:08:01.3448733Z         "impl",
2026-06-10T07:08:01.3449109Z         "unit",
2026-06-10T07:08:01.3449390Z         "int"
2026-06-10T07:08:01.3449712Z       ],
2026-06-10T07:08:01.3449993Z       "stages": {
2026-06-10T07:08:01.3450383Z         "doc": {
2026-06-10T07:08:01.3450689Z           "complete": true,
2026-06-10T07:08:01.3450975Z           "evidence": [
2026-06-10T07:08:01.3451256Z             {
2026-06-10T07:08:01.3451729Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-10T07:08:01.3452025Z               "line": 60
2026-06-10T07:08:01.3452299Z             }
2026-06-10T07:08:01.3452678Z           ]
2026-06-10T07:08:01.3452959Z         },
2026-06-10T07:08:01.3453246Z         "impl": {
2026-06-10T07:08:01.3453546Z           "complete": true,
2026-06-10T07:08:01.3453833Z           "evidence": [
2026-06-10T07:08:01.3454119Z             {
2026-06-10T07:08:01.3454480Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.3454776Z               "line": 654
2026-06-10T07:08:01.3455066Z             },
2026-06-10T07:08:01.3455337Z             {
2026-06-10T07:08:01.3455713Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.3456004Z               "line": 775
2026-06-10T07:08:01.3456295Z             },
2026-06-10T07:08:01.3456567Z             {
2026-06-10T07:08:01.3456949Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:01.3457245Z               "line": 448
2026-06-10T07:08:01.3457521Z             },
2026-06-10T07:08:01.3457805Z             {
2026-06-10T07:08:01.3458172Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-10T07:08:01.3458478Z               "line": 578
2026-06-10T07:08:01.3458754Z             },
2026-06-10T07:08:01.3459141Z             {
2026-06-10T07:08:01.3459531Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.3459818Z               "line": 26
2026-06-10T07:08:01.3460093Z             },
2026-06-10T07:08:01.3460367Z             {
2026-06-10T07:08:01.3460758Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.3461059Z               "line": 60
2026-06-10T07:08:01.3461330Z             },
2026-06-10T07:08:01.3461606Z             {
2026-06-10T07:08:01.3461989Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.3462285Z               "line": 168
2026-06-10T07:08:01.3462560Z             },
2026-06-10T07:08:01.3462840Z             {
2026-06-10T07:08:01.3463234Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.3463519Z               "line": 295
2026-06-10T07:08:01.3463806Z             },
2026-06-10T07:08:01.3464097Z             {
2026-06-10T07:08:01.3464478Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.3464769Z               "line": 417
2026-06-10T07:08:01.3465045Z             },
2026-06-10T07:08:01.3465327Z             {
2026-06-10T07:08:01.3465724Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-10T07:08:01.3466020Z               "line": 252
2026-06-10T07:08:01.3466293Z             },
2026-06-10T07:08:01.3466583Z             {
2026-06-10T07:08:01.3466907Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3467208Z               "line": 2666
2026-06-10T07:08:01.3467485Z             },
2026-06-10T07:08:01.3467766Z             {
2026-06-10T07:08:01.3468095Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3468389Z               "line": 3148
2026-06-10T07:08:01.3468670Z             },
2026-06-10T07:08:01.3469024Z             {
2026-06-10T07:08:01.3469362Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3469663Z               "line": 3771
2026-06-10T07:08:01.3469938Z             }
2026-06-10T07:08:01.3470215Z           ]
2026-06-10T07:08:01.3470486Z         },
2026-06-10T07:08:01.3470770Z         "int": {
2026-06-10T07:08:01.3471071Z           "complete": true,
2026-06-10T07:08:01.3471357Z           "evidence": [
2026-06-10T07:08:01.3471634Z             {
2026-06-10T07:08:01.3472024Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-10T07:08:01.3472319Z               "line": 22
2026-06-10T07:08:01.3472592Z             },
2026-06-10T07:08:01.3472874Z             {
2026-06-10T07:08:01.3473372Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.3473661Z               "line": 575
2026-06-10T07:08:01.3473933Z             },
2026-06-10T07:08:01.3474205Z             {
2026-06-10T07:08:01.3474972Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.3475272Z               "line": 792
2026-06-10T07:08:01.3475549Z             }
2026-06-10T07:08:01.3475962Z           ]
2026-06-10T07:08:01.3476242Z         },
2026-06-10T07:08:01.3476552Z         "unit": {
2026-06-10T07:08:01.3476848Z           "complete": true,
2026-06-10T07:08:01.3477139Z           "evidence": [
2026-06-10T07:08:01.3477411Z             {
2026-06-10T07:08:01.3477830Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.3478125Z               "line": 586
2026-06-10T07:08:01.3478407Z             },
2026-06-10T07:08:01.3478684Z             {
2026-06-10T07:08:01.3479121Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3479427Z               "line": 6954
2026-06-10T07:08:01.3479698Z             },
2026-06-10T07:08:01.3479975Z             {
2026-06-10T07:08:01.3480304Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3480600Z               "line": 7620
2026-06-10T07:08:01.3480881Z             }
2026-06-10T07:08:01.3481155Z           ]
2026-06-10T07:08:01.3481434Z         }
2026-06-10T07:08:01.3481706Z       }
2026-06-10T07:08:01.3482002Z     },
2026-06-10T07:08:01.3482269Z     {
2026-06-10T07:08:01.3482570Z       "id": "REQ-SUBNET-3",
2026-06-10T07:08:01.3483410Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-10T07:08:01.3483720Z       "requiredStages": [
2026-06-10T07:08:01.3484003Z         "impl",
2026-06-10T07:08:01.3484278Z         "unit"
2026-06-10T07:08:01.3484559Z       ],
2026-06-10T07:08:01.3484836Z       "stages": {
2026-06-10T07:08:01.3485122Z         "doc": {
2026-06-10T07:08:01.3485428Z           "complete": false,
2026-06-10T07:08:01.3485728Z           "evidence": []
2026-06-10T07:08:01.3486015Z         },
2026-06-10T07:08:01.3486291Z         "impl": {
2026-06-10T07:08:01.3486594Z           "complete": true,
2026-06-10T07:08:01.3487259Z           "evidence": [
2026-06-10T07:08:01.3487569Z             {
2026-06-10T07:08:01.3488004Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3488295Z               "line": 152
2026-06-10T07:08:01.3488595Z             },
2026-06-10T07:08:01.3488877Z             {
2026-06-10T07:08:01.3489371Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3489667Z               "line": 283
2026-06-10T07:08:01.3489943Z             },
2026-06-10T07:08:01.3490225Z             {
2026-06-10T07:08:01.3490630Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3490925Z               "line": 413
2026-06-10T07:08:01.3491203Z             },
2026-06-10T07:08:01.3491480Z             {
2026-06-10T07:08:01.3491886Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3492187Z               "line": 452
2026-06-10T07:08:01.3492463Z             },
2026-06-10T07:08:01.3492735Z             {
2026-06-10T07:08:01.3493116Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3493407Z               "line": 125
2026-06-10T07:08:01.3493684Z             },
2026-06-10T07:08:01.3493975Z             {
2026-06-10T07:08:01.3494352Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3494645Z               "line": 237
2026-06-10T07:08:01.3494924Z             },
2026-06-10T07:08:01.3495205Z             {
2026-06-10T07:08:01.3495577Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3495873Z               "line": 248
2026-06-10T07:08:01.3496154Z             },
2026-06-10T07:08:01.3496430Z             {
2026-06-10T07:08:01.3496817Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3497111Z               "line": 269
2026-06-10T07:08:01.3497534Z             },
2026-06-10T07:08:01.3497810Z             {
2026-06-10T07:08:01.3498197Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3498493Z               "line": 573
2026-06-10T07:08:01.3498764Z             },
2026-06-10T07:08:01.3499113Z             {
2026-06-10T07:08:01.3499485Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3499870Z               "line": 632
2026-06-10T07:08:01.3500147Z             },
2026-06-10T07:08:01.3500422Z             {
2026-06-10T07:08:01.3500814Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.3501081Z               "line": 61
2026-06-10T07:08:01.3501363Z             },
2026-06-10T07:08:01.3501633Z             {
2026-06-10T07:08:01.3502025Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.3502309Z               "line": 90
2026-06-10T07:08:01.3502578Z             },
2026-06-10T07:08:01.3502845Z             {
2026-06-10T07:08:01.3503236Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.3503561Z               "line": 125
2026-06-10T07:08:01.3503837Z             },
2026-06-10T07:08:01.3504114Z             {
2026-06-10T07:08:01.3504491Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-10T07:08:01.3504777Z               "line": 9
2026-06-10T07:08:01.3505072Z             },
2026-06-10T07:08:01.3505355Z             {
2026-06-10T07:08:01.3505694Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3505990Z               "line": 2985
2026-06-10T07:08:01.3506266Z             },
2026-06-10T07:08:01.3506548Z             {
2026-06-10T07:08:01.3506886Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.3507182Z               "line": 445
2026-06-10T07:08:01.3507455Z             }
2026-06-10T07:08:01.3507734Z           ]
2026-06-10T07:08:01.3508012Z         },
2026-06-10T07:08:01.3508289Z         "int": {
2026-06-10T07:08:01.3508599Z           "complete": false,
2026-06-10T07:08:01.3508899Z           "evidence": []
2026-06-10T07:08:01.3509343Z         },
2026-06-10T07:08:01.3509624Z         "unit": {
2026-06-10T07:08:01.3509929Z           "complete": true,
2026-06-10T07:08:01.3510225Z           "evidence": [
2026-06-10T07:08:01.3510506Z             {
2026-06-10T07:08:01.3510915Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3511201Z               "line": 1273
2026-06-10T07:08:01.3511473Z             },
2026-06-10T07:08:01.3511740Z             {
2026-06-10T07:08:01.3512141Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3512432Z               "line": 1575
2026-06-10T07:08:01.3512703Z             },
2026-06-10T07:08:01.3512983Z             {
2026-06-10T07:08:01.3513373Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.3513664Z               "line": 885
2026-06-10T07:08:01.3513940Z             },
2026-06-10T07:08:01.3514203Z             {
2026-06-10T07:08:01.3514607Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3514908Z               "line": 941
2026-06-10T07:08:01.3515190Z             },
2026-06-10T07:08:01.3515462Z             {
2026-06-10T07:08:01.3515846Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3516135Z               "line": 990
2026-06-10T07:08:01.3516417Z             },
2026-06-10T07:08:01.3516693Z             {
2026-06-10T07:08:01.3517075Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3517366Z               "line": 1049
2026-06-10T07:08:01.3517642Z             },
2026-06-10T07:08:01.3517913Z             {
2026-06-10T07:08:01.3518303Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-10T07:08:01.3518591Z               "line": 233
2026-06-10T07:08:01.3518859Z             },
2026-06-10T07:08:01.3519206Z             {
2026-06-10T07:08:01.3519594Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-10T07:08:01.3519998Z               "line": 49
2026-06-10T07:08:01.3520281Z             },
2026-06-10T07:08:01.3520553Z             {
2026-06-10T07:08:01.3520934Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3521214Z               "line": 7273
2026-06-10T07:08:01.3521485Z             },
2026-06-10T07:08:01.3521761Z             {
2026-06-10T07:08:01.3522076Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3522463Z               "line": 7378
2026-06-10T07:08:01.3522734Z             },
2026-06-10T07:08:01.3523006Z             {
2026-06-10T07:08:01.3523329Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3523618Z               "line": 7586
2026-06-10T07:08:01.3523891Z             }
2026-06-10T07:08:01.3524153Z           ]
2026-06-10T07:08:01.3524429Z         }
2026-06-10T07:08:01.3524696Z       }
2026-06-10T07:08:01.3524967Z     },
2026-06-10T07:08:01.3525235Z     {
2026-06-10T07:08:01.3525530Z       "id": "REQ-SUBNET-4",
2026-06-10T07:08:01.3526429Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-10T07:08:01.3526733Z       "requiredStages": [
2026-06-10T07:08:01.3527015Z         "impl",
2026-06-10T07:08:01.3527287Z         "unit"
2026-06-10T07:08:01.3527563Z       ],
2026-06-10T07:08:01.3527839Z       "stages": {
2026-06-10T07:08:01.3528106Z         "doc": {
2026-06-10T07:08:01.3528406Z           "complete": true,
2026-06-10T07:08:01.3528697Z           "evidence": [
2026-06-10T07:08:01.3529042Z             {
2026-06-10T07:08:01.3529510Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-10T07:08:01.3529805Z               "line": 60
2026-06-10T07:08:01.3530081Z             }
2026-06-10T07:08:01.3530348Z           ]
2026-06-10T07:08:01.3530621Z         },
2026-06-10T07:08:01.3530901Z         "impl": {
2026-06-10T07:08:01.3531193Z           "complete": true,
2026-06-10T07:08:01.3531480Z           "evidence": [
2026-06-10T07:08:01.3531754Z             {
2026-06-10T07:08:01.3532088Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3532370Z               "line": 2455
2026-06-10T07:08:01.3532645Z             },
2026-06-10T07:08:01.3532913Z             {
2026-06-10T07:08:01.3533252Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3533547Z               "line": 3738
2026-06-10T07:08:01.3533838Z             },
2026-06-10T07:08:01.3538553Z             {
2026-06-10T07:08:01.3538933Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3539319Z               "line": 3771
2026-06-10T07:08:01.3539593Z             }
2026-06-10T07:08:01.3539875Z           ]
2026-06-10T07:08:01.3540151Z         },
2026-06-10T07:08:01.3540433Z         "int": {
2026-06-10T07:08:01.3540733Z           "complete": false,
2026-06-10T07:08:01.3541033Z           "evidence": []
2026-06-10T07:08:01.3541319Z         },
2026-06-10T07:08:01.3541596Z         "unit": {
2026-06-10T07:08:01.3541901Z           "complete": true,
2026-06-10T07:08:01.3542191Z           "evidence": [
2026-06-10T07:08:01.3542481Z             {
2026-06-10T07:08:01.3542824Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3543130Z               "line": 7070
2026-06-10T07:08:01.3543411Z             },
2026-06-10T07:08:01.3543683Z             {
2026-06-10T07:08:01.3544017Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3544303Z               "line": 7144
2026-06-10T07:08:01.3544583Z             }
2026-06-10T07:08:01.3544857Z           ]
2026-06-10T07:08:01.3545128Z         }
2026-06-10T07:08:01.3545401Z       }
2026-06-10T07:08:01.3545673Z     },
2026-06-10T07:08:01.3545945Z     {
2026-06-10T07:08:01.3546250Z       "id": "REQ-SUBNET-5",
2026-06-10T07:08:01.3549642Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-10T07:08:01.3550125Z       "requiredStages": [
2026-06-10T07:08:01.3550401Z         "impl",
2026-06-10T07:08:01.3550683Z         "unit",
2026-06-10T07:08:01.3550940Z         "int"
2026-06-10T07:08:01.3551221Z       ],
2026-06-10T07:08:01.3551502Z       "stages": {
2026-06-10T07:08:01.3551788Z         "doc": {
2026-06-10T07:08:01.3552204Z           "complete": false,
2026-06-10T07:08:01.3552490Z           "evidence": []
2026-06-10T07:08:01.3552770Z         },
2026-06-10T07:08:01.3553051Z         "impl": {
2026-06-10T07:08:01.3553399Z           "complete": true,
2026-06-10T07:08:01.3553694Z           "evidence": [
2026-06-10T07:08:01.3553971Z             {
2026-06-10T07:08:01.3554357Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-10T07:08:01.3554648Z               "line": 126
2026-06-10T07:08:01.3554924Z             },
2026-06-10T07:08:01.3555204Z             {
2026-06-10T07:08:01.3555589Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-10T07:08:01.3555894Z               "line": 413
2026-06-10T07:08:01.3556171Z             },
2026-06-10T07:08:01.3556443Z             {
2026-06-10T07:08:01.3556824Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.3557111Z               "line": 74
2026-06-10T07:08:01.3557383Z             },
2026-06-10T07:08:01.3557659Z             {
2026-06-10T07:08:01.3558048Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.3558338Z               "line": 357
2026-06-10T07:08:01.3558618Z             },
2026-06-10T07:08:01.3558885Z             {
2026-06-10T07:08:01.3559377Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-10T07:08:01.3559658Z               "line": 31
2026-06-10T07:08:01.3559983Z             },
2026-06-10T07:08:01.3560255Z             {
2026-06-10T07:08:01.3560648Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-10T07:08:01.3560938Z               "line": 50
2026-06-10T07:08:01.3561224Z             },
2026-06-10T07:08:01.3561500Z             {
2026-06-10T07:08:01.3561887Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-10T07:08:01.3562183Z               "line": 69
2026-06-10T07:08:01.3562459Z             },
2026-06-10T07:08:01.3562735Z             {
2026-06-10T07:08:01.3563136Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-10T07:08:01.3563444Z               "line": 113
2026-06-10T07:08:01.3563735Z             },
2026-06-10T07:08:01.3564007Z             {
2026-06-10T07:08:01.3564403Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-10T07:08:01.3564704Z               "line": 25
2026-06-10T07:08:01.3564984Z             },
2026-06-10T07:08:01.3565261Z             {
2026-06-10T07:08:01.3565651Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-10T07:08:01.3565943Z               "line": 34
2026-06-10T07:08:01.3566221Z             },
2026-06-10T07:08:01.3566502Z             {
2026-06-10T07:08:01.3566902Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-10T07:08:01.3567188Z               "line": 17
2026-06-10T07:08:01.3567465Z             },
2026-06-10T07:08:01.3567737Z             {
2026-06-10T07:08:01.3568080Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3568371Z               "line": 3696
2026-06-10T07:08:01.3568650Z             },
2026-06-10T07:08:01.3568931Z             {
2026-06-10T07:08:01.3569346Z               "path": "crates/spt/src/wansend.rs",
2026-06-10T07:08:01.3569632Z               "line": 419
2026-06-10T07:08:01.3569899Z             }
2026-06-10T07:08:01.3570172Z           ]
2026-06-10T07:08:01.3570443Z         },
2026-06-10T07:08:01.3570714Z         "int": {
2026-06-10T07:08:01.3571018Z           "complete": true,
2026-06-10T07:08:01.3571306Z           "evidence": [
2026-06-10T07:08:01.3571588Z             {
2026-06-10T07:08:01.3571978Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.3572270Z               "line": 814
2026-06-10T07:08:01.3572680Z             }
2026-06-10T07:08:01.3572961Z           ]
2026-06-10T07:08:01.3573233Z         },
2026-06-10T07:08:01.3573518Z         "unit": {
2026-06-10T07:08:01.3573810Z           "complete": true,
2026-06-10T07:08:01.3574091Z           "evidence": [
2026-06-10T07:08:01.3574368Z             {
2026-06-10T07:08:01.3574739Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:01.3575130Z               "line": 341
2026-06-10T07:08:01.3575411Z             },
2026-06-10T07:08:01.3575683Z             {
2026-06-10T07:08:01.3576078Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-10T07:08:01.3576362Z               "line": 151
2026-06-10T07:08:01.3576638Z             },
2026-06-10T07:08:01.3576915Z             {
2026-06-10T07:08:01.3577301Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-10T07:08:01.3577592Z               "line": 61
2026-06-10T07:08:01.3577869Z             },
2026-06-10T07:08:01.3578145Z             {
2026-06-10T07:08:01.3578532Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-10T07:08:01.3578823Z               "line": 111
2026-06-10T07:08:01.3579183Z             },
2026-06-10T07:08:01.3579458Z             {
2026-06-10T07:08:01.3579839Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-10T07:08:01.3580121Z               "line": 138
2026-06-10T07:08:01.3580412Z             },
2026-06-10T07:08:01.3580683Z             {
2026-06-10T07:08:01.3581066Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-10T07:08:01.3581371Z               "line": 148
2026-06-10T07:08:01.3581640Z             },
2026-06-10T07:08:01.3581914Z             {
2026-06-10T07:08:01.3582238Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3582529Z               "line": 6971
2026-06-10T07:08:01.3582797Z             }
2026-06-10T07:08:01.3583059Z           ]
2026-06-10T07:08:01.3583345Z         }
2026-06-10T07:08:01.3583622Z       }
2026-06-10T07:08:01.3583899Z     },
2026-06-10T07:08:01.3584170Z     {
2026-06-10T07:08:01.3584526Z       "id": "REQ-SUBNET-6",
2026-06-10T07:08:01.3586633Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-10T07:08:01.3586955Z       "requiredStages": [
2026-06-10T07:08:01.3587242Z         "impl",
2026-06-10T07:08:01.3587513Z         "unit"
2026-06-10T07:08:01.3587790Z       ],
2026-06-10T07:08:01.3588081Z       "stages": {
2026-06-10T07:08:01.3588361Z         "doc": {
2026-06-10T07:08:01.3588657Z           "complete": false,
2026-06-10T07:08:01.3589092Z           "evidence": []
2026-06-10T07:08:01.3589374Z         },
2026-06-10T07:08:01.3589648Z         "impl": {
2026-06-10T07:08:01.3589945Z           "complete": true,
2026-06-10T07:08:01.3590232Z           "evidence": [
2026-06-10T07:08:01.3590508Z             {
2026-06-10T07:08:01.3590889Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3591190Z               "line": 238
2026-06-10T07:08:01.3591462Z             },
2026-06-10T07:08:01.3591733Z             {
2026-06-10T07:08:01.3592062Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3592351Z               "line": 3354
2026-06-10T07:08:01.3592637Z             },
2026-06-10T07:08:01.3592918Z             {
2026-06-10T07:08:01.3593247Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3593543Z               "line": 3371
2026-06-10T07:08:01.3593814Z             },
2026-06-10T07:08:01.3594095Z             {
2026-06-10T07:08:01.3594430Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3594720Z               "line": 3424
2026-06-10T07:08:01.3594991Z             },
2026-06-10T07:08:01.3595277Z             {
2026-06-10T07:08:01.3595616Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3595912Z               "line": 3447
2026-06-10T07:08:01.3596292Z             }
2026-06-10T07:08:01.3596570Z           ]
2026-06-10T07:08:01.3596851Z         },
2026-06-10T07:08:01.3597123Z         "int": {
2026-06-10T07:08:01.3597422Z           "complete": false,
2026-06-10T07:08:01.3597730Z           "evidence": []
2026-06-10T07:08:01.3598006Z         },
2026-06-10T07:08:01.3598292Z         "unit": {
2026-06-10T07:08:01.3598587Z           "complete": true,
2026-06-10T07:08:01.3599113Z           "evidence": [
2026-06-10T07:08:01.3599393Z             {
2026-06-10T07:08:01.3599727Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3600033Z               "line": 6985
2026-06-10T07:08:01.3600308Z             },
2026-06-10T07:08:01.3600587Z             {
2026-06-10T07:08:01.3600922Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3601217Z               "line": 7018
2026-06-10T07:08:01.3601503Z             },
2026-06-10T07:08:01.3601774Z             {
2026-06-10T07:08:01.3602103Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3602399Z               "line": 7027
2026-06-10T07:08:01.3602680Z             }
2026-06-10T07:08:01.3602949Z           ]
2026-06-10T07:08:01.3603226Z         }
2026-06-10T07:08:01.3603502Z       }
2026-06-10T07:08:01.3603780Z     },
2026-06-10T07:08:01.3604055Z     {
2026-06-10T07:08:01.3604355Z       "id": "REQ-SUBNET-7",
2026-06-10T07:08:01.3609052Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-10T07:08:01.3609382Z       "requiredStages": [
2026-06-10T07:08:01.3609668Z         "impl",
2026-06-10T07:08:01.3609954Z         "unit"
2026-06-10T07:08:01.3610227Z       ],
2026-06-10T07:08:01.3610508Z       "stages": {
2026-06-10T07:08:01.3610782Z         "doc": {
2026-06-10T07:08:01.3611080Z           "complete": false,
2026-06-10T07:08:01.3611371Z           "evidence": []
2026-06-10T07:08:01.3611638Z         },
2026-06-10T07:08:01.3611925Z         "impl": {
2026-06-10T07:08:01.3612239Z           "complete": true,
2026-06-10T07:08:01.3612525Z           "evidence": [
2026-06-10T07:08:01.3612802Z             {
2026-06-10T07:08:01.3613192Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-10T07:08:01.3613485Z               "line": 17
2026-06-10T07:08:01.3613757Z             },
2026-06-10T07:08:01.3614039Z             {
2026-06-10T07:08:01.3614425Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.3614720Z               "line": 103
2026-06-10T07:08:01.3614993Z             },
2026-06-10T07:08:01.3615269Z             {
2026-06-10T07:08:01.3615669Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-10T07:08:01.3615961Z               "line": 312
2026-06-10T07:08:01.3616235Z             },
2026-06-10T07:08:01.3616507Z             {
2026-06-10T07:08:01.3616894Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.3617184Z               "line": 388
2026-06-10T07:08:01.3617455Z             },
2026-06-10T07:08:01.3617747Z             {
2026-06-10T07:08:01.3618148Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3618441Z               "line": 160
2026-06-10T07:08:01.3618711Z             },
2026-06-10T07:08:01.3619069Z             {
2026-06-10T07:08:01.3619475Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3619771Z               "line": 417
2026-06-10T07:08:01.3620056Z             },
2026-06-10T07:08:01.3620332Z             {
2026-06-10T07:08:01.3620739Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3621148Z               "line": 590
2026-06-10T07:08:01.3621428Z             },
2026-06-10T07:08:01.3621707Z             {
2026-06-10T07:08:01.3622098Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3622385Z               "line": 630
2026-06-10T07:08:01.3622642Z             },
2026-06-10T07:08:01.3622918Z             {
2026-06-10T07:08:01.3623320Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3623710Z               "line": 686
2026-06-10T07:08:01.3623981Z             },
2026-06-10T07:08:01.3624250Z             {
2026-06-10T07:08:01.3624722Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.3625098Z               "line": 136
2026-06-10T07:08:01.3625375Z             },
2026-06-10T07:08:01.3625642Z             {
2026-06-10T07:08:01.3626029Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3626334Z               "line": 139
2026-06-10T07:08:01.3626624Z             }
2026-06-10T07:08:01.3626920Z           ]
2026-06-10T07:08:01.3627192Z         },
2026-06-10T07:08:01.3627469Z         "int": {
2026-06-10T07:08:01.3627769Z           "complete": false,
2026-06-10T07:08:01.3628064Z           "evidence": []
2026-06-10T07:08:01.3628330Z         },
2026-06-10T07:08:01.3628607Z         "unit": {
2026-06-10T07:08:01.3628898Z           "complete": true,
2026-06-10T07:08:01.3629257Z           "evidence": [
2026-06-10T07:08:01.3629609Z             {
2026-06-10T07:08:01.3629987Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-10T07:08:01.3630282Z               "line": 136
2026-06-10T07:08:01.3630558Z             },
2026-06-10T07:08:01.3630836Z             {
2026-06-10T07:08:01.3631217Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-10T07:08:01.3631508Z               "line": 156
2026-06-10T07:08:01.3631783Z             },
2026-06-10T07:08:01.3632058Z             {
2026-06-10T07:08:01.3632457Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3632810Z               "line": 905
2026-06-10T07:08:01.3633087Z             },
2026-06-10T07:08:01.3633369Z             {
2026-06-10T07:08:01.3633765Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-10T07:08:01.3634050Z               "line": 927
2026-06-10T07:08:01.3634331Z             },
2026-06-10T07:08:01.3634602Z             {
2026-06-10T07:08:01.3634996Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-10T07:08:01.3635292Z               "line": 1419
2026-06-10T07:08:01.3635574Z             },
2026-06-10T07:08:01.3635850Z             {
2026-06-10T07:08:01.3636237Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-10T07:08:01.3636526Z               "line": 985
2026-06-10T07:08:01.3636790Z             }
2026-06-10T07:08:01.3637062Z           ]
2026-06-10T07:08:01.3637341Z         }
2026-06-10T07:08:01.3637617Z       }
2026-06-10T07:08:01.3637884Z     },
2026-06-10T07:08:01.3638157Z     {
2026-06-10T07:08:01.3638462Z       "id": "REQ-SUBNET-8",
2026-06-10T07:08:01.3641653Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-10T07:08:01.3641982Z       "requiredStages": [
2026-06-10T07:08:01.3642254Z         "impl",
2026-06-10T07:08:01.3642534Z         "unit"
2026-06-10T07:08:01.3642809Z       ],
2026-06-10T07:08:01.3643080Z       "stages": {
2026-06-10T07:08:01.3643356Z         "doc": {
2026-06-10T07:08:01.3643643Z           "complete": false,
2026-06-10T07:08:01.3643939Z           "evidence": []
2026-06-10T07:08:01.3644210Z         },
2026-06-10T07:08:01.3644492Z         "impl": {
2026-06-10T07:08:01.3644788Z           "complete": true,
2026-06-10T07:08:01.3645077Z           "evidence": [
2026-06-10T07:08:01.3645495Z             {
2026-06-10T07:08:01.3645834Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3646134Z               "line": 2743
2026-06-10T07:08:01.3646410Z             },
2026-06-10T07:08:01.3646688Z             {
2026-06-10T07:08:01.3647026Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3647308Z               "line": 2772
2026-06-10T07:08:01.3647693Z             },
2026-06-10T07:08:01.3647964Z             {
2026-06-10T07:08:01.3648298Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3648589Z               "line": 2789
2026-06-10T07:08:01.3648865Z             },
2026-06-10T07:08:01.3649238Z             {
2026-06-10T07:08:01.3649576Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3649872Z               "line": 3210
2026-06-10T07:08:01.3650146Z             }
2026-06-10T07:08:01.3650424Z           ]
2026-06-10T07:08:01.3650697Z         },
2026-06-10T07:08:01.3650978Z         "int": {
2026-06-10T07:08:01.3651278Z           "complete": false,
2026-06-10T07:08:01.3651584Z           "evidence": []
2026-06-10T07:08:01.3651870Z         },
2026-06-10T07:08:01.3652147Z         "unit": {
2026-06-10T07:08:01.3652452Z           "complete": true,
2026-06-10T07:08:01.3652739Z           "evidence": [
2026-06-10T07:08:01.3653022Z             {
2026-06-10T07:08:01.3653364Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3653664Z               "line": 7175
2026-06-10T07:08:01.3653940Z             }
2026-06-10T07:08:01.3654212Z           ]
2026-06-10T07:08:01.3654489Z         }
2026-06-10T07:08:01.3655099Z       }
2026-06-10T07:08:01.3655367Z     },
2026-06-10T07:08:01.3655646Z     {
2026-06-10T07:08:01.3655949Z       "id": "REQ-TERM-1",
2026-06-10T07:08:01.3656478Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-10T07:08:01.3656778Z       "requiredStages": [
2026-06-10T07:08:01.3657052Z         "impl",
2026-06-10T07:08:01.3657327Z         "unit"
2026-06-10T07:08:01.3657595Z       ],
2026-06-10T07:08:01.3657887Z       "stages": {
2026-06-10T07:08:01.3658154Z         "doc": {
2026-06-10T07:08:01.3658457Z           "complete": false,
2026-06-10T07:08:01.3658742Z           "evidence": []
2026-06-10T07:08:01.3659096Z         },
2026-06-10T07:08:01.3659381Z         "impl": {
2026-06-10T07:08:01.3659677Z           "complete": true,
2026-06-10T07:08:01.3659958Z           "evidence": [
2026-06-10T07:08:01.3660235Z             {
2026-06-10T07:08:01.3660592Z               "path": "crates/spt-term/src/pty.rs",
2026-06-10T07:08:01.3660875Z               "line": 59
2026-06-10T07:08:01.3661158Z             },
2026-06-10T07:08:01.3661429Z             {
2026-06-10T07:08:01.3661782Z               "path": "crates/spt-term/src/pty.rs",
2026-06-10T07:08:01.3662077Z               "line": 171
2026-06-10T07:08:01.3662345Z             },
2026-06-10T07:08:01.3662626Z             {
2026-06-10T07:08:01.3662985Z               "path": "crates/spt-term/src/surface.rs",
2026-06-10T07:08:01.3663280Z               "line": 100
2026-06-10T07:08:01.3663554Z             }
2026-06-10T07:08:01.3663832Z           ]
2026-06-10T07:08:01.3664110Z         },
2026-06-10T07:08:01.3664382Z         "int": {
2026-06-10T07:08:01.3664687Z           "complete": false,
2026-06-10T07:08:01.3664978Z           "evidence": []
2026-06-10T07:08:01.3665255Z         },
2026-06-10T07:08:01.3665532Z         "unit": {
2026-06-10T07:08:01.3665828Z           "complete": true,
2026-06-10T07:08:01.3666125Z           "evidence": [
2026-06-10T07:08:01.3666399Z             {
2026-06-10T07:08:01.3666776Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-10T07:08:01.3667063Z               "line": 24
2026-06-10T07:08:01.3667397Z             },
2026-06-10T07:08:01.3667668Z             {
2026-06-10T07:08:01.3668050Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-10T07:08:01.3668341Z               "line": 56
2026-06-10T07:08:01.3668617Z             }
2026-06-10T07:08:01.3668897Z           ]
2026-06-10T07:08:01.3669245Z         }
2026-06-10T07:08:01.3669738Z       }
2026-06-10T07:08:01.3670019Z     },
2026-06-10T07:08:01.3670295Z     {
2026-06-10T07:08:01.3670595Z       "id": "REQ-TERM-2",
2026-06-10T07:08:01.3671157Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-10T07:08:01.3671464Z       "requiredStages": [
2026-06-10T07:08:01.3671741Z         "impl",
2026-06-10T07:08:01.3672022Z         "unit"
2026-06-10T07:08:01.3672390Z       ],
2026-06-10T07:08:01.3672680Z       "stages": {
2026-06-10T07:08:01.3672962Z         "doc": {
2026-06-10T07:08:01.3673263Z           "complete": false,
2026-06-10T07:08:01.3673568Z           "evidence": []
2026-06-10T07:08:01.3673840Z         },
2026-06-10T07:08:01.3674129Z         "impl": {
2026-06-10T07:08:01.3674421Z           "complete": true,
2026-06-10T07:08:01.3674717Z           "evidence": [
2026-06-10T07:08:01.3674999Z             {
2026-06-10T07:08:01.3675365Z               "path": "crates/spt-term/src/surface.rs",
2026-06-10T07:08:01.3675662Z               "line": 117
2026-06-10T07:08:01.3675948Z             },
2026-06-10T07:08:01.3676229Z             {
2026-06-10T07:08:01.3676586Z               "path": "crates/spt-term/src/surface.rs",
2026-06-10T07:08:01.3676884Z               "line": 127
2026-06-10T07:08:01.3677161Z             }
2026-06-10T07:08:01.3677433Z           ]
2026-06-10T07:08:01.3677714Z         },
2026-06-10T07:08:01.3677991Z         "int": {
2026-06-10T07:08:01.3678300Z           "complete": false,
2026-06-10T07:08:01.3678591Z           "evidence": []
2026-06-10T07:08:01.3678867Z         },
2026-06-10T07:08:01.3679231Z         "unit": {
2026-06-10T07:08:01.3679529Z           "complete": true,
2026-06-10T07:08:01.3679819Z           "evidence": [
2026-06-10T07:08:01.3680097Z             {
2026-06-10T07:08:01.3680477Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-10T07:08:01.3680764Z               "line": 46
2026-06-10T07:08:01.3681046Z             },
2026-06-10T07:08:01.3681322Z             {
2026-06-10T07:08:01.3681684Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-10T07:08:01.3681987Z               "line": 77
2026-06-10T07:08:01.3682269Z             }
2026-06-10T07:08:01.3682549Z           ]
2026-06-10T07:08:01.3682822Z         }
2026-06-10T07:08:01.3683103Z       }
2026-06-10T07:08:01.3683374Z     },
2026-06-10T07:08:01.3683640Z     {
2026-06-10T07:08:01.3683941Z       "id": "REQ-TERM-3",
2026-06-10T07:08:01.3684381Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-10T07:08:01.3684689Z       "requiredStages": [
2026-06-10T07:08:01.3684967Z         "impl",
2026-06-10T07:08:01.3685249Z         "unit"
2026-06-10T07:08:01.3685525Z       ],
2026-06-10T07:08:01.3685808Z       "stages": {
2026-06-10T07:08:01.3686084Z         "doc": {
2026-06-10T07:08:01.3686389Z           "complete": false,
2026-06-10T07:08:01.3686904Z           "evidence": []
2026-06-10T07:08:01.3687188Z         },
2026-06-10T07:08:01.3687473Z         "impl": {
2026-06-10T07:08:01.3687768Z           "complete": true,
2026-06-10T07:08:01.3688064Z           "evidence": [
2026-06-10T07:08:01.3688341Z             {
2026-06-10T07:08:01.3688703Z               "path": "crates/spt-term/src/stream.rs",
2026-06-10T07:08:01.3689070Z               "line": 71
2026-06-10T07:08:01.3689346Z             }
2026-06-10T07:08:01.3689628Z           ]
2026-06-10T07:08:01.3689905Z         },
2026-06-10T07:08:01.3690180Z         "int": {
2026-06-10T07:08:01.3690486Z           "complete": false,
2026-06-10T07:08:01.3690776Z           "evidence": []
2026-06-10T07:08:01.3691052Z         },
2026-06-10T07:08:01.3691333Z         "unit": {
2026-06-10T07:08:01.3691630Z           "complete": true,
2026-06-10T07:08:01.3691919Z           "evidence": [
2026-06-10T07:08:01.3692197Z             {
2026-06-10T07:08:01.3692570Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-10T07:08:01.3692861Z               "line": 37
2026-06-10T07:08:01.3693133Z             },
2026-06-10T07:08:01.3693410Z             {
2026-06-10T07:08:01.3693781Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-10T07:08:01.3694200Z               "line": 67
2026-06-10T07:08:01.3694477Z             }
2026-06-10T07:08:01.3694759Z           ]
2026-06-10T07:08:01.3695027Z         }
2026-06-10T07:08:01.3695306Z       }
2026-06-10T07:08:01.3695585Z     },
2026-06-10T07:08:01.3695856Z     {
2026-06-10T07:08:01.3696171Z       "id": "REQ-TERM-4",
2026-06-10T07:08:01.3697250Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-10T07:08:01.3697668Z       "requiredStages": [
2026-06-10T07:08:01.3697948Z         "impl",
2026-06-10T07:08:01.3698224Z         "unit",
2026-06-10T07:08:01.3698501Z         "int"
2026-06-10T07:08:01.3698781Z       ],
2026-06-10T07:08:01.3699287Z       "stages": {
2026-06-10T07:08:01.3699563Z         "doc": {
2026-06-10T07:08:01.3699868Z           "complete": true,
2026-06-10T07:08:01.3700155Z           "evidence": [
2026-06-10T07:08:01.3700432Z             {
2026-06-10T07:08:01.3700759Z               "path": "docs/MANIFEST.md",
2026-06-10T07:08:01.3701055Z               "line": 115
2026-06-10T07:08:01.3701331Z             }
2026-06-10T07:08:01.3701602Z           ]
2026-06-10T07:08:01.3701884Z         },
2026-06-10T07:08:01.3702161Z         "impl": {
2026-06-10T07:08:01.3702470Z           "complete": true,
2026-06-10T07:08:01.3702757Z           "evidence": [
2026-06-10T07:08:01.3703051Z             {
2026-06-10T07:08:01.3703426Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.3703717Z               "line": 613
2026-06-10T07:08:01.3703994Z             },
2026-06-10T07:08:01.3704266Z             {
2026-06-10T07:08:01.3704638Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3704919Z               "line": 41
2026-06-10T07:08:01.3705201Z             },
2026-06-10T07:08:01.3705472Z             {
2026-06-10T07:08:01.3705828Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3706111Z               "line": 91
2026-06-10T07:08:01.3706383Z             },
2026-06-10T07:08:01.3706717Z             {
2026-06-10T07:08:01.3707085Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3707375Z               "line": 152
2026-06-10T07:08:01.3707647Z             },
2026-06-10T07:08:01.3707914Z             {
2026-06-10T07:08:01.3708290Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3708593Z               "line": 221
2026-06-10T07:08:01.3708865Z             },
2026-06-10T07:08:01.3709217Z             {
2026-06-10T07:08:01.3709603Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-10T07:08:01.3709894Z               "line": 20
2026-06-10T07:08:01.3710166Z             },
2026-06-10T07:08:01.3710443Z             {
2026-06-10T07:08:01.3710819Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-10T07:08:01.3711119Z               "line": 222
2026-06-10T07:08:01.3711392Z             },
2026-06-10T07:08:01.3711668Z             {
2026-06-10T07:08:01.3712064Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-10T07:08:01.3712354Z               "line": 242
2026-06-10T07:08:01.3712631Z             },
2026-06-10T07:08:01.3712899Z             {
2026-06-10T07:08:01.3713279Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.3713564Z               "line": 625
2026-06-10T07:08:01.3713848Z             },
2026-06-10T07:08:01.3714133Z             {
2026-06-10T07:08:01.3714488Z               "path": "crates/spt-term/src/digest.rs",
2026-06-10T07:08:01.3714783Z               "line": 162
2026-06-10T07:08:01.3715054Z             },
2026-06-10T07:08:01.3715330Z             {
2026-06-10T07:08:01.3715678Z               "path": "crates/spt-term/src/digest.rs",
2026-06-10T07:08:01.3715970Z               "line": 206
2026-06-10T07:08:01.3716250Z             },
2026-06-10T07:08:01.3716520Z             {
2026-06-10T07:08:01.3716877Z               "path": "crates/spt-term/src/digest.rs",
2026-06-10T07:08:01.3717164Z               "line": 233
2026-06-10T07:08:01.3717549Z             },
2026-06-10T07:08:01.3717831Z             {
2026-06-10T07:08:01.3718154Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3718450Z               "line": 860
2026-06-10T07:08:01.3718723Z             }
2026-06-10T07:08:01.3719073Z           ]
2026-06-10T07:08:01.3719344Z         },
2026-06-10T07:08:01.3719626Z         "int": {
2026-06-10T07:08:01.3720026Z           "complete": true,
2026-06-10T07:08:01.3720317Z           "evidence": [
2026-06-10T07:08:01.3720594Z             {
2026-06-10T07:08:01.3720965Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-10T07:08:01.3721257Z               "line": 18
2026-06-10T07:08:01.3721524Z             }
2026-06-10T07:08:01.3721803Z           ]
2026-06-10T07:08:01.3722070Z         },
2026-06-10T07:08:01.3722332Z         "unit": {
2026-06-10T07:08:01.3722628Z           "complete": true,
2026-06-10T07:08:01.3722914Z           "evidence": [
2026-06-10T07:08:01.3723191Z             {
2026-06-10T07:08:01.3723572Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3723886Z               "line": 259
2026-06-10T07:08:01.3724162Z             },
2026-06-10T07:08:01.3724427Z             {
2026-06-10T07:08:01.3724800Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3725090Z               "line": 277
2026-06-10T07:08:01.3725372Z             },
2026-06-10T07:08:01.3725648Z             {
2026-06-10T07:08:01.3726021Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3726312Z               "line": 289
2026-06-10T07:08:01.3726588Z             },
2026-06-10T07:08:01.3726872Z             {
2026-06-10T07:08:01.3727246Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3727537Z               "line": 304
2026-06-10T07:08:01.3727808Z             },
2026-06-10T07:08:01.3728086Z             {
2026-06-10T07:08:01.3728467Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3728758Z               "line": 320
2026-06-10T07:08:01.3729115Z             },
2026-06-10T07:08:01.3729391Z             {
2026-06-10T07:08:01.3729765Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3730056Z               "line": 346
2026-06-10T07:08:01.3730342Z             },
2026-06-10T07:08:01.3730615Z             {
2026-06-10T07:08:01.3730981Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3731282Z               "line": 361
2026-06-10T07:08:01.3731553Z             },
2026-06-10T07:08:01.3731836Z             {
2026-06-10T07:08:01.3732197Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-10T07:08:01.3732493Z               "line": 391
2026-06-10T07:08:01.3732774Z             },
2026-06-10T07:08:01.3733051Z             {
2026-06-10T07:08:01.3733431Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-10T07:08:01.3733718Z               "line": 365
2026-06-10T07:08:01.3734000Z             },
2026-06-10T07:08:01.3734270Z             {
2026-06-10T07:08:01.3734665Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-10T07:08:01.3734958Z               "line": 382
2026-06-10T07:08:01.3735230Z             },
2026-06-10T07:08:01.3735506Z             {
2026-06-10T07:08:01.3735879Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-10T07:08:01.3736164Z               "line": 411
2026-06-10T07:08:01.3736437Z             },
2026-06-10T07:08:01.3736708Z             {
2026-06-10T07:08:01.3737090Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-10T07:08:01.3737371Z               "line": 428
2026-06-10T07:08:01.3737645Z             },
2026-06-10T07:08:01.3737912Z             {
2026-06-10T07:08:01.3738298Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.3738589Z               "line": 828
2026-06-10T07:08:01.3738861Z             },
2026-06-10T07:08:01.3739218Z             {
2026-06-10T07:08:01.3739585Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.3739970Z               "line": 835
2026-06-10T07:08:01.3740245Z             },
2026-06-10T07:08:01.3740508Z             {
2026-06-10T07:08:01.3740884Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.3741165Z               "line": 850
2026-06-10T07:08:01.3741447Z             },
2026-06-10T07:08:01.3741714Z             {
2026-06-10T07:08:01.3742076Z               "path": "crates/spt-term/src/digest.rs",
2026-06-10T07:08:01.3742475Z               "line": 420
2026-06-10T07:08:01.3742753Z             },
2026-06-10T07:08:01.3743029Z             {
2026-06-10T07:08:01.3743386Z               "path": "crates/spt-term/src/digest.rs",
2026-06-10T07:08:01.3743686Z               "line": 458
2026-06-10T07:08:01.3743954Z             },
2026-06-10T07:08:01.3744230Z             {
2026-06-10T07:08:01.3744584Z               "path": "crates/spt-term/src/digest.rs",
2026-06-10T07:08:01.3744884Z               "line": 471
2026-06-10T07:08:01.3745158Z             },
2026-06-10T07:08:01.3745437Z             {
2026-06-10T07:08:01.3745790Z               "path": "crates/spt-term/src/digest.rs",
2026-06-10T07:08:01.3746085Z               "line": 497
2026-06-10T07:08:01.3746372Z             },
2026-06-10T07:08:01.3746644Z             {
2026-06-10T07:08:01.3747011Z               "path": "crates/spt-term/src/digest.rs",
2026-06-10T07:08:01.3747302Z               "line": 524
2026-06-10T07:08:01.3747592Z             },
2026-06-10T07:08:01.3747874Z             {
2026-06-10T07:08:01.3748243Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-10T07:08:01.3748529Z               "line": 32
2026-06-10T07:08:01.3748806Z             },
2026-06-10T07:08:01.3749163Z             {
2026-06-10T07:08:01.3752551Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3752880Z               "line": 6743
2026-06-10T07:08:01.3753161Z             }
2026-06-10T07:08:01.3753426Z           ]
2026-06-10T07:08:01.3753707Z         }
2026-06-10T07:08:01.3753980Z       }
2026-06-10T07:08:01.3754261Z     },
2026-06-10T07:08:01.3754538Z     {
2026-06-10T07:08:01.3754834Z       "id": "REQ-UPD-1",
2026-06-10T07:08:01.3755214Z       "title": "Peer-propagated update over P2P",
2026-06-10T07:08:01.3755525Z       "requiredStages": [
2026-06-10T07:08:01.3755809Z         "impl",
2026-06-10T07:08:01.3756078Z         "unit",
2026-06-10T07:08:01.3756355Z         "int"
2026-06-10T07:08:01.3756622Z       ],
2026-06-10T07:08:01.3756893Z       "stages": {
2026-06-10T07:08:01.3757161Z         "doc": {
2026-06-10T07:08:01.3757461Z           "complete": false,
2026-06-10T07:08:01.3757757Z           "evidence": []
2026-06-10T07:08:01.3758035Z         },
2026-06-10T07:08:01.3758311Z         "impl": {
2026-06-10T07:08:01.3758609Z           "complete": true,
2026-06-10T07:08:01.3758902Z           "evidence": [
2026-06-10T07:08:01.3759285Z             {
2026-06-10T07:08:01.3759666Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.3759962Z               "line": 28
2026-06-10T07:08:01.3760224Z             },
2026-06-10T07:08:01.3760500Z             {
2026-06-10T07:08:01.3760878Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.3761171Z               "line": 103
2026-06-10T07:08:01.3761460Z             },
2026-06-10T07:08:01.3761736Z             {
2026-06-10T07:08:01.3762127Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.3762418Z               "line": 342
2026-06-10T07:08:01.3762699Z             },
2026-06-10T07:08:01.3762982Z             {
2026-06-10T07:08:01.3763353Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.3763640Z               "line": 22
2026-06-10T07:08:01.3763915Z             },
2026-06-10T07:08:01.3764193Z             {
2026-06-10T07:08:01.3764568Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.3764860Z               "line": 145
2026-06-10T07:08:01.3765145Z             },
2026-06-10T07:08:01.3765432Z             {
2026-06-10T07:08:01.3765831Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.3766264Z               "line": 221
2026-06-10T07:08:01.3766539Z             },
2026-06-10T07:08:01.3766796Z             {
2026-06-10T07:08:01.3767172Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.3767458Z               "line": 278
2026-06-10T07:08:01.3767731Z             },
2026-06-10T07:08:01.3768003Z             {
2026-06-10T07:08:01.3768470Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-10T07:08:01.3768756Z               "line": 37
2026-06-10T07:08:01.3769089Z             }
2026-06-10T07:08:01.3769368Z           ]
2026-06-10T07:08:01.3769645Z         },
2026-06-10T07:08:01.3769917Z         "int": {
2026-06-10T07:08:01.3770207Z           "complete": true,
2026-06-10T07:08:01.3770494Z           "evidence": [
2026-06-10T07:08:01.3770755Z             {
2026-06-10T07:08:01.3771138Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-10T07:08:01.3771433Z               "line": 207
2026-06-10T07:08:01.3771770Z             },
2026-06-10T07:08:01.3772048Z             {
2026-06-10T07:08:01.3772431Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-10T07:08:01.3772722Z               "line": 987
2026-06-10T07:08:01.3772998Z             }
2026-06-10T07:08:01.3773278Z           ]
2026-06-10T07:08:01.3773556Z         },
2026-06-10T07:08:01.3773841Z         "unit": {
2026-06-10T07:08:01.3774142Z           "complete": true,
2026-06-10T07:08:01.3774433Z           "evidence": [
2026-06-10T07:08:01.3774705Z             {
2026-06-10T07:08:01.3775272Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.3775576Z               "line": 381
2026-06-10T07:08:01.3775843Z             },
2026-06-10T07:08:01.3776115Z             {
2026-06-10T07:08:01.3776492Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.3776819Z               "line": 440
2026-06-10T07:08:01.3777089Z             },
2026-06-10T07:08:01.3777366Z             {
2026-06-10T07:08:01.3777780Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-10T07:08:01.3778066Z               "line": 277
2026-06-10T07:08:01.3778348Z             },
2026-06-10T07:08:01.3778625Z             {
2026-06-10T07:08:01.3779083Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-10T07:08:01.3779374Z               "line": 124
2026-06-10T07:08:01.3779649Z             },
2026-06-10T07:08:01.3779966Z             {
2026-06-10T07:08:01.3780332Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-10T07:08:01.3780628Z               "line": 200
2026-06-10T07:08:01.3780900Z             }
2026-06-10T07:08:01.3781182Z           ]
2026-06-10T07:08:01.3781449Z         }
2026-06-10T07:08:01.3781727Z       }
2026-06-10T07:08:01.3782003Z     },
2026-06-10T07:08:01.3782272Z     {
2026-06-10T07:08:01.3782565Z       "id": "REQ-UPD-2",
2026-06-10T07:08:01.3783010Z       "title": "All binaries signature-verified before handoff",
2026-06-10T07:08:01.3783311Z       "requiredStages": [
2026-06-10T07:08:01.3783597Z         "impl",
2026-06-10T07:08:01.3783877Z         "unit"
2026-06-10T07:08:01.3784154Z       ],
2026-06-10T07:08:01.3784435Z       "stages": {
2026-06-10T07:08:01.3784716Z         "doc": {
2026-06-10T07:08:01.3785012Z           "complete": false,
2026-06-10T07:08:01.3785303Z           "evidence": []
2026-06-10T07:08:01.3785579Z         },
2026-06-10T07:08:01.3785856Z         "impl": {
2026-06-10T07:08:01.3786166Z           "complete": true,
2026-06-10T07:08:01.3786451Z           "evidence": [
2026-06-10T07:08:01.3786732Z             {
2026-06-10T07:08:01.3787115Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.3787408Z               "line": 343
2026-06-10T07:08:01.3787673Z             },
2026-06-10T07:08:01.3787954Z             {
2026-06-10T07:08:01.3788340Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.3788626Z               "line": 469
2026-06-10T07:08:01.3788903Z             },
2026-06-10T07:08:01.3789256Z             {
2026-06-10T07:08:01.3789753Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3790040Z               "line": 29
2026-06-10T07:08:01.3790318Z             },
2026-06-10T07:08:01.3790592Z             {
2026-06-10T07:08:01.3790960Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3791256Z               "line": 271
2026-06-10T07:08:01.3791619Z             },
2026-06-10T07:08:01.3791890Z             {
2026-06-10T07:08:01.3792258Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3792544Z               "line": 288
2026-06-10T07:08:01.3792823Z             },
2026-06-10T07:08:01.3793088Z             {
2026-06-10T07:08:01.3793464Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3793751Z               "line": 408
2026-06-10T07:08:01.3794027Z             },
2026-06-10T07:08:01.3794299Z             {
2026-06-10T07:08:01.3794666Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3794971Z               "line": 540
2026-06-10T07:08:01.3795247Z             },
2026-06-10T07:08:01.3795520Z             {
2026-06-10T07:08:01.3795887Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.3796173Z               "line": 155
2026-06-10T07:08:01.3796454Z             }
2026-06-10T07:08:01.3796726Z           ]
2026-06-10T07:08:01.3796997Z         },
2026-06-10T07:08:01.3797287Z         "int": {
2026-06-10T07:08:01.3797583Z           "complete": false,
2026-06-10T07:08:01.3797873Z           "evidence": []
2026-06-10T07:08:01.3798148Z         },
2026-06-10T07:08:01.3798420Z         "unit": {
2026-06-10T07:08:01.3798725Z           "complete": true,
2026-06-10T07:08:01.3799092Z           "evidence": [
2026-06-10T07:08:01.3799364Z             {
2026-06-10T07:08:01.3799740Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3800031Z               "line": 697
2026-06-10T07:08:01.3800313Z             },
2026-06-10T07:08:01.3800600Z             {
2026-06-10T07:08:01.3800978Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3801272Z               "line": 758
2026-06-10T07:08:01.3801550Z             },
2026-06-10T07:08:01.3801826Z             {
2026-06-10T07:08:01.3802188Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3802484Z               "line": 772
2026-06-10T07:08:01.3802750Z             },
2026-06-10T07:08:01.3803022Z             {
2026-06-10T07:08:01.3803397Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3803686Z               "line": 788
2026-06-10T07:08:01.3803977Z             },
2026-06-10T07:08:01.3804249Z             {
2026-06-10T07:08:01.3804620Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3804916Z               "line": 879
2026-06-10T07:08:01.3805184Z             },
2026-06-10T07:08:01.3805460Z             {
2026-06-10T07:08:01.3805822Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.3806122Z               "line": 414
2026-06-10T07:08:01.3806399Z             },
2026-06-10T07:08:01.3806675Z             {
2026-06-10T07:08:01.3807052Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.3807338Z               "line": 427
2026-06-10T07:08:01.3807625Z             },
2026-06-10T07:08:01.3807891Z             {
2026-06-10T07:08:01.3808292Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-10T07:08:01.3808591Z               "line": 410
2026-06-10T07:08:01.3808870Z             }
2026-06-10T07:08:01.3809227Z           ]
2026-06-10T07:08:01.3809499Z         }
2026-06-10T07:08:01.3809765Z       }
2026-06-10T07:08:01.3810038Z     },
2026-06-10T07:08:01.3810315Z     {
2026-06-10T07:08:01.3810605Z       "id": "REQ-UPD-3",
2026-06-10T07:08:01.3811140Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-10T07:08:01.3811448Z       "requiredStages": [
2026-06-10T07:08:01.3811727Z         "impl",
2026-06-10T07:08:01.3812008Z         "unit",
2026-06-10T07:08:01.3812381Z         "int"
2026-06-10T07:08:01.3812657Z       ],
2026-06-10T07:08:01.3812933Z       "stages": {
2026-06-10T07:08:01.3813210Z         "doc": {
2026-06-10T07:08:01.3813510Z           "complete": false,
2026-06-10T07:08:01.3813801Z           "evidence": []
2026-06-10T07:08:01.3814072Z         },
2026-06-10T07:08:01.3814347Z         "impl": {
2026-06-10T07:08:01.3814647Z           "complete": true,
2026-06-10T07:08:01.3815024Z           "evidence": [
2026-06-10T07:08:01.3815301Z             {
2026-06-10T07:08:01.3815691Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.3815978Z               "line": 40
2026-06-10T07:08:01.3816250Z             },
2026-06-10T07:08:01.3816517Z             {
2026-06-10T07:08:01.3816897Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.3817178Z               "line": 76
2026-06-10T07:08:01.3817458Z             },
2026-06-10T07:08:01.3817735Z             {
2026-06-10T07:08:01.3818088Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-10T07:08:01.3818403Z               "line": 786
2026-06-10T07:08:01.3818675Z             },
2026-06-10T07:08:01.3819036Z             {
2026-06-10T07:08:01.3819406Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-10T07:08:01.3819696Z               "line": 691
2026-06-10T07:08:01.3819973Z             },
2026-06-10T07:08:01.3820250Z             {
2026-06-10T07:08:01.3820640Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.3820922Z               "line": 26
2026-06-10T07:08:01.3821198Z             },
2026-06-10T07:08:01.3821475Z             {
2026-06-10T07:08:01.3821842Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.3822135Z               "line": 114
2026-06-10T07:08:01.3822407Z             },
2026-06-10T07:08:01.3822684Z             {
2026-06-10T07:08:01.3823051Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.3823352Z               "line": 246
2026-06-10T07:08:01.3823633Z             },
2026-06-10T07:08:01.3823905Z             {
2026-06-10T07:08:01.3824244Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3824589Z               "line": 1757
2026-06-10T07:08:01.3824869Z             }
2026-06-10T07:08:01.3825260Z           ]
2026-06-10T07:08:01.3825532Z         },
2026-06-10T07:08:01.3825813Z         "int": {
2026-06-10T07:08:01.3826166Z           "complete": true,
2026-06-10T07:08:01.3826462Z           "evidence": [
2026-06-10T07:08:01.3826747Z             {
2026-06-10T07:08:01.3827163Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-10T07:08:01.3827447Z               "line": 23
2026-06-10T07:08:01.3827738Z             }
2026-06-10T07:08:01.3828018Z           ]
2026-06-10T07:08:01.3828300Z         },
2026-06-10T07:08:01.3828582Z         "unit": {
2026-06-10T07:08:01.3828882Z           "complete": true,
2026-06-10T07:08:01.3829254Z           "evidence": [
2026-06-10T07:08:01.3829521Z             {
2026-06-10T07:08:01.3829937Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.3830228Z               "line": 486
2026-06-10T07:08:01.3830495Z             },
2026-06-10T07:08:01.3830772Z             {
2026-06-10T07:08:01.3831144Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.3831444Z               "line": 536
2026-06-10T07:08:01.3831711Z             },
2026-06-10T07:08:01.3831984Z             {
2026-06-10T07:08:01.3832369Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.3832658Z               "line": 604
2026-06-10T07:08:01.3832929Z             },
2026-06-10T07:08:01.3833206Z             {
2026-06-10T07:08:01.3833583Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-10T07:08:01.3833868Z               "line": 491
2026-06-10T07:08:01.3834150Z             },
2026-06-10T07:08:01.3834416Z             {
2026-06-10T07:08:01.3834780Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.3835082Z               "line": 271
2026-06-10T07:08:01.3835476Z             },
2026-06-10T07:08:01.3835763Z             {
2026-06-10T07:08:01.3836130Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.3836421Z               "line": 295
2026-06-10T07:08:01.3836702Z             },
2026-06-10T07:08:01.3836974Z             {
2026-06-10T07:08:01.3837351Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.3837752Z               "line": 316
2026-06-10T07:08:01.3838036Z             },
2026-06-10T07:08:01.3838308Z             {
2026-06-10T07:08:01.3838685Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.3839051Z               "line": 332
2026-06-10T07:08:01.3839329Z             }
2026-06-10T07:08:01.3839606Z           ]
2026-06-10T07:08:01.3839881Z         }
2026-06-10T07:08:01.3840156Z       }
2026-06-10T07:08:01.3840426Z     },
2026-06-10T07:08:01.3840698Z     {
2026-06-10T07:08:01.3840989Z       "id": "REQ-UPD-4",
2026-06-10T07:08:01.3841548Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-10T07:08:01.3841867Z       "requiredStages": [
2026-06-10T07:08:01.3842138Z         "impl",
2026-06-10T07:08:01.3842419Z         "unit"
2026-06-10T07:08:01.3842686Z       ],
2026-06-10T07:08:01.3842972Z       "stages": {
2026-06-10T07:08:01.3843251Z         "doc": {
2026-06-10T07:08:01.3843546Z           "complete": false,
2026-06-10T07:08:01.3843852Z           "evidence": []
2026-06-10T07:08:01.3844123Z         },
2026-06-10T07:08:01.3844405Z         "impl": {
2026-06-10T07:08:01.3844705Z           "complete": true,
2026-06-10T07:08:01.3844996Z           "evidence": [
2026-06-10T07:08:01.3845272Z             {
2026-06-10T07:08:01.3846085Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.3846376Z               "line": 41
2026-06-10T07:08:01.3846647Z             },
2026-06-10T07:08:01.3846914Z             {
2026-06-10T07:08:01.3847301Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.3847635Z               "line": 77
2026-06-10T07:08:01.3847921Z             },
2026-06-10T07:08:01.3848586Z             {
2026-06-10T07:08:01.3849396Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-10T07:08:01.3850265Z               "line": 23
2026-06-10T07:08:01.3850929Z             },
2026-06-10T07:08:01.3851535Z             {
2026-06-10T07:08:01.3852236Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-10T07:08:01.3853099Z               "line": 56
2026-06-10T07:08:01.3853759Z             },
2026-06-10T07:08:01.3854359Z             {
2026-06-10T07:08:01.3855055Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-10T07:08:01.3855919Z               "line": 77
2026-06-10T07:08:01.3856558Z             },
2026-06-10T07:08:01.3857159Z             {
2026-06-10T07:08:01.3857870Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-10T07:08:01.3858743Z               "line": 184
2026-06-10T07:08:01.3859476Z             },
2026-06-10T07:08:01.3860096Z             {
2026-06-10T07:08:01.3860867Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-10T07:08:01.3861721Z               "line": 101
2026-06-10T07:08:01.3862424Z             },
2026-06-10T07:08:01.3863025Z             {
2026-06-10T07:08:01.3863701Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.3864547Z               "line": 170
2026-06-10T07:08:01.3865225Z             },
2026-06-10T07:08:01.3865820Z             {
2026-06-10T07:08:01.3866470Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3867276Z               "line": 1756
2026-06-10T07:08:01.3867962Z             }
2026-06-10T07:08:01.3868559Z           ]
2026-06-10T07:08:01.3869236Z         },
2026-06-10T07:08:01.3869822Z         "int": {
2026-06-10T07:08:01.3870451Z           "complete": false,
2026-06-10T07:08:01.3871152Z           "evidence": []
2026-06-10T07:08:01.3871804Z         },
2026-06-10T07:08:01.3872388Z         "unit": {
2026-06-10T07:08:01.3873023Z           "complete": true,
2026-06-10T07:08:01.3873966Z           "evidence": [
2026-06-10T07:08:01.3874638Z             {
2026-06-10T07:08:01.3875345Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.3876237Z               "line": 532
2026-06-10T07:08:01.3876895Z             },
2026-06-10T07:08:01.3877502Z             {
2026-06-10T07:08:01.3878203Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.3879277Z               "line": 657
2026-06-10T07:08:01.3879950Z             },
2026-06-10T07:08:01.3880558Z             {
2026-06-10T07:08:01.3881254Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-10T07:08:01.3882112Z               "line": 384
2026-06-10T07:08:01.3882786Z             },
2026-06-10T07:08:01.3883396Z             {
2026-06-10T07:08:01.3884074Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-10T07:08:01.3884922Z               "line": 102
2026-06-10T07:08:01.3885591Z             },
2026-06-10T07:08:01.3886191Z             {
2026-06-10T07:08:01.3886893Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-10T07:08:01.3887960Z               "line": 123
2026-06-10T07:08:01.3888630Z             },
2026-06-10T07:08:01.3889392Z             {
2026-06-10T07:08:01.3890084Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-10T07:08:01.3890937Z               "line": 142
2026-06-10T07:08:01.3891604Z             },
2026-06-10T07:08:01.3892219Z             {
2026-06-10T07:08:01.3892895Z               "path": "crates/spt-store/src/info.rs",
2026-06-10T07:08:01.3893733Z               "line": 386
2026-06-10T07:08:01.3894400Z             },
2026-06-10T07:08:01.3894997Z             {
2026-06-10T07:08:01.3895679Z               "path": "crates/spt-store/src/perch.rs",
2026-06-10T07:08:01.3896522Z               "line": 556
2026-06-10T07:08:01.3897186Z             },
2026-06-10T07:08:01.3897782Z             {
2026-06-10T07:08:01.3898438Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.3899347Z               "line": 5592
2026-06-10T07:08:01.3900024Z             }
2026-06-10T07:08:01.3900630Z           ]
2026-06-10T07:08:01.3901211Z         }
2026-06-10T07:08:01.3901783Z       }
2026-06-10T07:08:01.3902398Z     },
2026-06-10T07:08:01.3902976Z     {
2026-06-10T07:08:01.3903560Z       "id": "REQ-UPD-5",
2026-06-10T07:08:01.3904397Z       "title": "spt-core ripple-updates registered adapters",
2026-06-10T07:08:01.3905341Z       "requiredStages": [
2026-06-10T07:08:01.3906038Z         "impl",
2026-06-10T07:08:01.3906649Z         "unit"
2026-06-10T07:08:01.3907246Z       ],
2026-06-10T07:08:01.3907823Z       "stages": {
2026-06-10T07:08:01.3908443Z         "doc": {
2026-06-10T07:08:01.3909164Z           "complete": false,
2026-06-10T07:08:01.3909873Z           "evidence": []
2026-06-10T07:08:01.3910541Z         },
2026-06-10T07:08:01.3911123Z         "impl": {
2026-06-10T07:08:01.3911751Z           "complete": true,
2026-06-10T07:08:01.3912433Z           "evidence": [
2026-06-10T07:08:01.3913086Z             {
2026-06-10T07:08:01.3913821Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3914708Z               "line": 27
2026-06-10T07:08:01.3915371Z             },
2026-06-10T07:08:01.3915973Z             {
2026-06-10T07:08:01.3916698Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3917590Z               "line": 82
2026-06-10T07:08:01.3918258Z             },
2026-06-10T07:08:01.3918863Z             {
2026-06-10T07:08:01.3919683Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3920578Z               "line": 134
2026-06-10T07:08:01.3921236Z             },
2026-06-10T07:08:01.3921837Z             {
2026-06-10T07:08:01.3922536Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3923394Z               "line": 492
2026-06-10T07:08:01.3924053Z             },
2026-06-10T07:08:01.3924652Z             {
2026-06-10T07:08:01.3925341Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.3926329Z               "line": 528
2026-06-10T07:08:01.3926996Z             }
2026-06-10T07:08:01.3927590Z           ]
2026-06-10T07:08:01.3928184Z         },
2026-06-10T07:08:01.3928770Z         "int": {
2026-06-10T07:08:01.3929496Z           "complete": false,
2026-06-10T07:08:01.3930205Z           "evidence": []
2026-06-10T07:08:01.3930866Z         },
2026-06-10T07:08:01.3931452Z         "unit": {
2026-06-10T07:08:01.3932205Z           "complete": true,
2026-06-10T07:08:01.3932905Z           "evidence": [
2026-06-10T07:08:01.3933539Z             {
2026-06-10T07:08:01.3934268Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3935160Z               "line": 232
2026-06-10T07:08:01.3935815Z             },
2026-06-10T07:08:01.3936406Z             {
2026-06-10T07:08:01.3937131Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3938017Z               "line": 246
2026-06-10T07:08:01.3938682Z             },
2026-06-10T07:08:01.3939363Z             {
2026-06-10T07:08:01.3940086Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3940967Z               "line": 260
2026-06-10T07:08:01.3941626Z             },
2026-06-10T07:08:01.3942216Z             {
2026-06-10T07:08:01.3942943Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3943842Z               "line": 274
2026-06-10T07:08:01.3944524Z             },
2026-06-10T07:08:01.3945124Z             {
2026-06-10T07:08:01.3945867Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-10T07:08:01.3946756Z               "line": 308
2026-06-10T07:08:01.3947415Z             },
2026-06-10T07:08:01.3948011Z             {
2026-06-10T07:08:01.3948710Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-10T07:08:01.3949657Z               "line": 792
2026-06-10T07:08:01.3950316Z             }
2026-06-10T07:08:01.3950912Z           ]
2026-06-10T07:08:01.3951489Z         }
2026-06-10T07:08:01.3952086Z       }
2026-06-10T07:08:01.3952663Z     },
2026-06-10T07:08:01.3953236Z     {
2026-06-10T07:08:01.3953823Z       "id": "REQ-UPD-6",
2026-06-10T07:08:01.3956940Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-10T07:08:01.3960126Z       "requiredStages": [
2026-06-10T07:08:01.3960799Z         "doc",
2026-06-10T07:08:01.3961405Z         "impl",
2026-06-10T07:08:01.3962017Z         "unit",
2026-06-10T07:08:01.3962618Z         "int"
2026-06-10T07:08:01.3963232Z       ],
2026-06-10T07:08:01.3963810Z       "stages": {
2026-06-10T07:08:01.3964416Z         "doc": {
2026-06-10T07:08:01.3965044Z           "complete": true,
2026-06-10T07:08:01.3965740Z           "evidence": [
2026-06-10T07:08:01.3966584Z             {
2026-06-10T07:08:01.3970878Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-10T07:08:01.3971775Z               "line": 3
2026-06-10T07:08:01.3972426Z             },
2026-06-10T07:08:01.3973034Z             {
2026-06-10T07:08:01.3973693Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-10T07:08:01.3974513Z               "line": 3
2026-06-10T07:08:01.3975160Z             },
2026-06-10T07:08:01.3975775Z             {
2026-06-10T07:08:01.3976568Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-10T07:08:01.3977529Z               "line": 3
2026-06-10T07:08:01.3978166Z             }
2026-06-10T07:08:01.3978766Z           ]
2026-06-10T07:08:01.3979444Z         },
2026-06-10T07:08:01.3980035Z         "impl": {
2026-06-10T07:08:01.3980679Z           "complete": true,
2026-06-10T07:08:01.3981377Z           "evidence": [
2026-06-10T07:08:01.3982035Z             {
2026-06-10T07:08:01.3982749Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.3983633Z               "line": 177
2026-06-10T07:08:01.3984457Z             },
2026-06-10T07:08:01.3985058Z             {
2026-06-10T07:08:01.3985757Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.3986622Z               "line": 511
2026-06-10T07:08:01.3987274Z             },
2026-06-10T07:08:01.3987875Z             {
2026-06-10T07:08:01.3988568Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-10T07:08:01.3989627Z               "line": 564
2026-06-10T07:08:01.3990300Z             },
2026-06-10T07:08:01.3990898Z             {
2026-06-10T07:08:01.3991602Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.3992465Z               "line": 69
2026-06-10T07:08:01.3993123Z             },
2026-06-10T07:08:01.3993716Z             {
2026-06-10T07:08:01.3994435Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.3995308Z               "line": 133
2026-06-10T07:08:01.3995962Z             },
2026-06-10T07:08:01.3996576Z             {
2026-06-10T07:08:01.3997300Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.3998168Z               "line": 243
2026-06-10T07:08:01.3998832Z             },
2026-06-10T07:08:01.3999518Z             {
2026-06-10T07:08:01.4000215Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.4001093Z               "line": 399
2026-06-10T07:08:01.4001756Z             },
2026-06-10T07:08:01.4002362Z             {
2026-06-10T07:08:01.4003068Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.4003944Z               "line": 527
2026-06-10T07:08:01.4004604Z             },
2026-06-10T07:08:01.4005210Z             {
2026-06-10T07:08:01.4005911Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.4006788Z               "line": 541
2026-06-10T07:08:01.4007446Z             },
2026-06-10T07:08:01.4008042Z             {
2026-06-10T07:08:01.4008747Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.4009717Z               "line": 596
2026-06-10T07:08:01.4010379Z             },
2026-06-10T07:08:01.4010980Z             {
2026-06-10T07:08:01.4011681Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.4012551Z               "line": 627
2026-06-10T07:08:01.4013214Z             },
2026-06-10T07:08:01.4013800Z             {
2026-06-10T07:08:01.4014500Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4015370Z               "line": 52
2026-06-10T07:08:01.4016028Z             },
2026-06-10T07:08:01.4016630Z             {
2026-06-10T07:08:01.4017329Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4018198Z               "line": 123
2026-06-10T07:08:01.4018865Z             },
2026-06-10T07:08:01.4019555Z             {
2026-06-10T07:08:01.4020253Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4021112Z               "line": 198
2026-06-10T07:08:01.4021774Z             },
2026-06-10T07:08:01.4022386Z             {
2026-06-10T07:08:01.4023073Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4023946Z               "line": 230
2026-06-10T07:08:01.4024599Z             },
2026-06-10T07:08:01.4025179Z             {
2026-06-10T07:08:01.4025869Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4026731Z               "line": 261
2026-06-10T07:08:01.4027772Z             },
2026-06-10T07:08:01.4028399Z             {
2026-06-10T07:08:01.4029224Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4030092Z               "line": 284
2026-06-10T07:08:01.4030771Z             },
2026-06-10T07:08:01.4031381Z             {
2026-06-10T07:08:01.4032086Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4032955Z               "line": 302
2026-06-10T07:08:01.4033619Z             },
2026-06-10T07:08:01.4034220Z             {
2026-06-10T07:08:01.4034944Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4035965Z               "line": 312
2026-06-10T07:08:01.4036642Z             },
2026-06-10T07:08:01.4037225Z             {
2026-06-10T07:08:01.4037945Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4038816Z               "line": 324
2026-06-10T07:08:01.4039574Z             },
2026-06-10T07:08:01.4040161Z             {
2026-06-10T07:08:01.4040960Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4041822Z               "line": 334
2026-06-10T07:08:01.4042485Z             },
2026-06-10T07:08:01.4043096Z             {
2026-06-10T07:08:01.4043780Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4044636Z               "line": 94
2026-06-10T07:08:01.4045299Z             },
2026-06-10T07:08:01.4045895Z             {
2026-06-10T07:08:01.4046587Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4047447Z               "line": 120
2026-06-10T07:08:01.4048123Z             },
2026-06-10T07:08:01.4048738Z             {
2026-06-10T07:08:01.4049505Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4050358Z               "line": 135
2026-06-10T07:08:01.4051021Z             },
2026-06-10T07:08:01.4051628Z             {
2026-06-10T07:08:01.4052324Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4053178Z               "line": 162
2026-06-10T07:08:01.4053835Z             },
2026-06-10T07:08:01.4054439Z             {
2026-06-10T07:08:01.4055129Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4055979Z               "line": 174
2026-06-10T07:08:01.4056632Z             },
2026-06-10T07:08:01.4057229Z             {
2026-06-10T07:08:01.4057916Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4058774Z               "line": 185
2026-06-10T07:08:01.4059509Z             },
2026-06-10T07:08:01.4060103Z             {
2026-06-10T07:08:01.4060795Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4061658Z               "line": 451
2026-06-10T07:08:01.4062322Z             },
2026-06-10T07:08:01.4062917Z             {
2026-06-10T07:08:01.4063605Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4064458Z               "line": 555
2026-06-10T07:08:01.4065117Z             },
2026-06-10T07:08:01.4065723Z             {
2026-06-10T07:08:01.4066414Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.4067556Z               "line": 171
2026-06-10T07:08:01.4068214Z             },
2026-06-10T07:08:01.4068810Z             {
2026-06-10T07:08:01.4069601Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-10T07:08:01.4070454Z               "line": 65
2026-06-10T07:08:01.4071112Z             },
2026-06-10T07:08:01.4071717Z             {
2026-06-10T07:08:01.4072412Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-10T07:08:01.4073250Z               "line": 71
2026-06-10T07:08:01.4073908Z             },
2026-06-10T07:08:01.4074509Z             {
2026-06-10T07:08:01.4075215Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-10T07:08:01.4076069Z               "line": 77
2026-06-10T07:08:01.4076722Z             },
2026-06-10T07:08:01.4077318Z             {
2026-06-10T07:08:01.4077984Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.4078802Z               "line": 778
2026-06-10T07:08:01.4079629Z             },
2026-06-10T07:08:01.4080239Z             {
2026-06-10T07:08:01.4080890Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.4081700Z               "line": 795
2026-06-10T07:08:01.4082363Z             },
2026-06-10T07:08:01.4082959Z             {
2026-06-10T07:08:01.4083609Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.4084420Z               "line": 838
2026-06-10T07:08:01.4085460Z             },
2026-06-10T07:08:01.4086059Z             {
2026-06-10T07:08:01.4086715Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.4087664Z               "line": 981
2026-06-10T07:08:01.4088318Z             },
2026-06-10T07:08:01.4088914Z             {
2026-06-10T07:08:01.4089649Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.4090474Z               "line": 1131
2026-06-10T07:08:01.4091138Z             }
2026-06-10T07:08:01.4091726Z           ]
2026-06-10T07:08:01.4092303Z         },
2026-06-10T07:08:01.4093000Z         "int": {
2026-06-10T07:08:01.4093628Z           "complete": true,
2026-06-10T07:08:01.4094327Z           "evidence": [
2026-06-10T07:08:01.4094967Z             {
2026-06-10T07:08:01.4095681Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-10T07:08:01.4096576Z               "line": 569
2026-06-10T07:08:01.4097237Z             },
2026-06-10T07:08:01.4097828Z             {
2026-06-10T07:08:01.4098501Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-10T07:08:01.4099432Z               "line": 135
2026-06-10T07:08:01.4100095Z             }
2026-06-10T07:08:01.4100700Z           ]
2026-06-10T07:08:01.4101277Z         },
2026-06-10T07:08:01.4101862Z         "unit": {
2026-06-10T07:08:01.4102501Z           "complete": true,
2026-06-10T07:08:01.4103202Z           "evidence": [
2026-06-10T07:08:01.4103836Z             {
2026-06-10T07:08:01.4104533Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.4105411Z               "line": 577
2026-06-10T07:08:01.4106073Z             },
2026-06-10T07:08:01.4106675Z             {
2026-06-10T07:08:01.4107372Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.4108222Z               "line": 626
2026-06-10T07:08:01.4108878Z             },
2026-06-10T07:08:01.4109555Z             {
2026-06-10T07:08:01.4110253Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-10T07:08:01.4111122Z               "line": 689
2026-06-10T07:08:01.4111784Z             },
2026-06-10T07:08:01.4112393Z             {
2026-06-10T07:08:01.4113080Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4113962Z               "line": 462
2026-06-10T07:08:01.4114772Z             },
2026-06-10T07:08:01.4115384Z             {
2026-06-10T07:08:01.4116124Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4116992Z               "line": 499
2026-06-10T07:08:01.4117663Z             },
2026-06-10T07:08:01.4118261Z             {
2026-06-10T07:08:01.4119035Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4119908Z               "line": 894
2026-06-10T07:08:01.4120571Z             },
2026-06-10T07:08:01.4121171Z             {
2026-06-10T07:08:01.4121864Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4122721Z               "line": 916
2026-06-10T07:08:01.4123382Z             },
2026-06-10T07:08:01.4123988Z             {
2026-06-10T07:08:01.4124680Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4125549Z               "line": 933
2026-06-10T07:08:01.4126221Z             },
2026-06-10T07:08:01.4126812Z             {
2026-06-10T07:08:01.4127514Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4128360Z               "line": 948
2026-06-10T07:08:01.4129093Z             },
2026-06-10T07:08:01.4129713Z             {
2026-06-10T07:08:01.4130399Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4131260Z               "line": 974
2026-06-10T07:08:01.4131928Z             },
2026-06-10T07:08:01.4132523Z             {
2026-06-10T07:08:01.4133204Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-10T07:08:01.4134054Z               "line": 457
2026-06-10T07:08:01.4134716Z             },
2026-06-10T07:08:01.4135351Z             {
2026-06-10T07:08:01.4136071Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-10T07:08:01.4136954Z               "line": 338
2026-06-10T07:08:01.4137611Z             },
2026-06-10T07:08:01.4138213Z             {
2026-06-10T07:08:01.4138864Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.4139897Z               "line": 1260
2026-06-10T07:08:01.4140568Z             },
2026-06-10T07:08:01.4141174Z             {
2026-06-10T07:08:01.4141853Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-10T07:08:01.4142683Z               "line": 130
2026-06-10T07:08:01.4143356Z             }
2026-06-10T07:08:01.4143947Z           ]
2026-06-10T07:08:01.4144637Z         }
2026-06-10T07:08:01.4145214Z       }
2026-06-10T07:08:01.4145786Z     },
2026-06-10T07:08:01.4146362Z     {
2026-06-10T07:08:01.4146951Z       "id": "REQ-UPD-7",
2026-06-10T07:08:01.4153076Z       "title": "Origin-source update bootstrap (`spt update fetch`): pull the latest signed release directly from the GitHub release origin (`SaberMage/spt-releases`) — the per-platform artifact + its `<asset>.release.json` SignedRelease metadata — and stage it through the EXISTING verify→stage pipeline (the same `plan_verified` gate: two-key signature + channel + monotonic rollback floor + SHA-256), after which the normal consent-notif / `spt update apply` flow is unchanged. Closes the peer-only-discovery gap (REQ-UPD-1): a first-in-fleet / isolated node can update with no peer to pull from. The signed-release anchor keeps the GitHub transport untrusted-but-verified.",
2026-06-10T07:08:01.4159184Z       "requiredStages": [
2026-06-10T07:08:01.4159879Z         "impl",
2026-06-10T07:08:01.4160511Z         "unit"
2026-06-10T07:08:01.4161112Z       ],
2026-06-10T07:08:01.4161689Z       "stages": {
2026-06-10T07:08:01.4162308Z         "doc": {
2026-06-10T07:08:01.4162940Z           "complete": false,
2026-06-10T07:08:01.4163650Z           "evidence": []
2026-06-10T07:08:01.4164313Z         },
2026-06-10T07:08:01.4164890Z         "impl": {
2026-06-10T07:08:01.4165528Z           "complete": true,
2026-06-10T07:08:01.4166228Z           "evidence": [
2026-06-10T07:08:01.4166882Z             {
2026-06-10T07:08:01.4167539Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.4168362Z               "line": 1853
2026-06-10T07:08:01.4169100Z             }
2026-06-10T07:08:01.4169687Z           ]
2026-06-10T07:08:01.4170279Z         },
2026-06-10T07:08:01.4170858Z         "int": {
2026-06-10T07:08:01.4171497Z           "complete": false,
2026-06-10T07:08:01.4172216Z           "evidence": []
2026-06-10T07:08:01.4172873Z         },
2026-06-10T07:08:01.4173443Z         "unit": {
2026-06-10T07:08:01.4174096Z           "complete": true,
2026-06-10T07:08:01.4174792Z           "evidence": [
2026-06-10T07:08:01.4175435Z             {
2026-06-10T07:08:01.4176103Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.4176914Z               "line": 7440
2026-06-10T07:08:01.4177577Z             }
2026-06-10T07:08:01.4178194Z           ]
2026-06-10T07:08:01.4178774Z         }
2026-06-10T07:08:01.4179433Z       }
2026-06-10T07:08:01.4180004Z     },
2026-06-10T07:08:01.4180581Z     {
2026-06-10T07:08:01.4181161Z       "id": "REQ-UPD-8",
2026-06-10T07:08:01.4188414Z       "title": "Platform-safe `spt update fetch` + apply platform-guard (v0.3.1 cross-OS brick fix): `spt update fetch` stages the signed multi-platform `SignedUpdateSet` (`update-set.json` + every platform artifact it names), never a platform-blind single `SignedRelease`, so local apply selects `current_platform()` and P2P re-serve lets each peer select ITS own platform. Defense-in-depth: `apply_staged` REFUSES a staged single-release artifact unless it is platform-stamped for THIS node (an unstamped pre-v0.3.2 single, or a single stamped for another OS, fail-safe refuses — the guard that alone prevents the v0.3.1 brick where a Linux ELF was applied as `spt.exe`). UX: a friendly post-apply message (`Updated spt-core to vX.Y.Z.` + changelog URL) driven by an additive `product_version` metadata field, with a release-counter fallback when absent.",
2026-06-10T07:08:01.4195499Z       "requiredStages": [
2026-06-10T07:08:01.4196184Z         "impl",
2026-06-10T07:08:01.4196828Z         "unit"
2026-06-10T07:08:01.4197447Z       ],
2026-06-10T07:08:01.4198181Z       "stages": {
2026-06-10T07:08:01.4198829Z         "doc": {
2026-06-10T07:08:01.4199623Z           "complete": false,
2026-06-10T07:08:01.4200362Z           "evidence": []
2026-06-10T07:08:01.4201029Z         },
2026-06-10T07:08:01.4201611Z         "impl": {
2026-06-10T07:08:01.4202234Z           "complete": true,
2026-06-10T07:08:01.4202924Z           "evidence": [
2026-06-10T07:08:01.4203681Z             {
2026-06-10T07:08:01.4204389Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.4205256Z               "line": 66
2026-06-10T07:08:01.4205904Z             },
2026-06-10T07:08:01.4206506Z             {
2026-06-10T07:08:01.4207202Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4208069Z               "line": 46
2026-06-10T07:08:01.4208732Z             },
2026-06-10T07:08:01.4209413Z             {
2026-06-10T07:08:01.4210110Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4210964Z               "line": 90
2026-06-10T07:08:01.4211627Z             },
2026-06-10T07:08:01.4212223Z             {
2026-06-10T07:08:01.4212925Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4213789Z               "line": 153
2026-06-10T07:08:01.4214442Z             },
2026-06-10T07:08:01.4215044Z             {
2026-06-10T07:08:01.4215746Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4216623Z               "line": 168
2026-06-10T07:08:01.4217452Z             },
2026-06-10T07:08:01.4218057Z             {
2026-06-10T07:08:01.4218792Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4219736Z               "line": 185
2026-06-10T07:08:01.4220392Z             },
2026-06-10T07:08:01.4220990Z             {
2026-06-10T07:08:01.4221673Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4222521Z               "line": 207
2026-06-10T07:08:01.4223178Z             },
2026-06-10T07:08:01.4223777Z             {
2026-06-10T07:08:01.4224816Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4229743Z               "line": 66
2026-06-10T07:08:01.4230420Z             },
2026-06-10T07:08:01.4231033Z             {
2026-06-10T07:08:01.4231733Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-10T07:08:01.4232601Z               "line": 154
2026-06-10T07:08:01.4233273Z             },
2026-06-10T07:08:01.4233882Z             {
2026-06-10T07:08:01.4234533Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.4235357Z               "line": 1745
2026-06-10T07:08:01.4236035Z             },
2026-06-10T07:08:01.4236631Z             {
2026-06-10T07:08:01.4236965Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.4237261Z               "line": 1800
2026-06-10T07:08:01.4237538Z             },
2026-06-10T07:08:01.4237809Z             {
2026-06-10T07:08:01.4238148Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.4238434Z               "line": 1810
2026-06-10T07:08:01.4238726Z             },
2026-06-10T07:08:01.4239083Z             {
2026-06-10T07:08:01.4239426Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.4239716Z               "line": 1817
2026-06-10T07:08:01.4239993Z             },
2026-06-10T07:08:01.4240260Z             {
2026-06-10T07:08:01.4240584Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.4240880Z               "line": 1854
2026-06-10T07:08:01.4241161Z             },
2026-06-10T07:08:01.4241441Z             {
2026-06-10T07:08:01.4241777Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.4242068Z               "line": 480
2026-06-10T07:08:01.4242339Z             },
2026-06-10T07:08:01.4242612Z             {
2026-06-10T07:08:01.4242955Z               "path": "crates/xtask/src/main.rs",
2026-06-10T07:08:01.4243245Z               "line": 494
2026-06-10T07:08:01.4243527Z             }
2026-06-10T07:08:01.4243810Z           ]
2026-06-10T07:08:01.4244081Z         },
2026-06-10T07:08:01.4244630Z         "int": {
2026-06-10T07:08:01.4244987Z           "complete": false,
2026-06-10T07:08:01.4245283Z           "evidence": []
2026-06-10T07:08:01.4245554Z         },
2026-06-10T07:08:01.4245879Z         "unit": {
2026-06-10T07:08:01.4246194Z           "complete": true,
2026-06-10T07:08:01.4246494Z           "evidence": [
2026-06-10T07:08:01.4246766Z             {
2026-06-10T07:08:01.4247154Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-10T07:08:01.4247569Z               "line": 430
2026-06-10T07:08:01.4247844Z             },
2026-06-10T07:08:01.4248126Z             {
2026-06-10T07:08:01.4248513Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-10T07:08:01.4248798Z               "line": 404
2026-06-10T07:08:01.4249171Z             },
2026-06-10T07:08:01.4249452Z             {
2026-06-10T07:08:01.4249789Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.4250075Z               "line": 7442
2026-06-10T07:08:01.4250352Z             },
2026-06-10T07:08:01.4250639Z             {
2026-06-10T07:08:01.4250963Z               "path": "crates/spt/src/cli.rs",
2026-06-10T07:08:01.4251253Z               "line": 7464
2026-06-10T07:08:01.4251521Z             }
2026-06-10T07:08:01.4251793Z           ]
2026-06-10T07:08:01.4252063Z         }
2026-06-10T07:08:01.4252327Z       }
2026-06-10T07:08:01.4252599Z     }
2026-06-10T07:08:01.4252867Z   ],
2026-06-10T07:08:01.4253172Z   "findings": []
2026-06-10T07:08:01.4253439Z }
